中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决][求助]古怪的输入输出句柄应用
作者:
标题: [已解决][求助]古怪的输入输出句柄应用 上一主题 | 下一主题
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『楼 主』:  [已解决][求助]古怪的输入输出句柄应用

在网上看到的一段代码,如下:
@echo off
echo. 1>nul 3>2.txt
for /f %%i in (1.txt) do set /p n=%%i<nul
echo. 1>con 4>con
echo 已书写完毕!
pause
作用是把1.txt中的多行内容整合成一行输出到2.txt。

请问其中的这两行如何解释:
echo. 1>nul 3>2.txt
echo. 1>con 4>con

[ Last edited by s11ss on 2008-10-12 at 21:51 ]

2008-10-12 01:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
23112656
中级用户





积分 220
发帖 99
注册 2008-6-26
状态 离线
『第 2 楼』:  

1>nul  不显示错误信息并输出到空设备
3>2.txt ?  打印3到2.txt  ?
echo. 1>con 4>con 打印一行到标准输入设备吧..
也不是太清楚.

2008-10-12 02:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 3 楼』:  

楼上解释有误。

如果 Test.bat 中有这一行内容:

echo a>o.txt

在提示符下输入 Test.bat,回车,可看到:

  Quote:
C:\>test.bat

C:\>echo a 1>o.txt

————————————————————————————————————————————————————————————————

>nul 对应于 1>nul
<nul 对应于 0<nul

2>nul 是屏蔽错误输出。

2008-10-12 10:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xzyx
初级用户





积分 50
发帖 19
注册 2008-2-9
状态 离线
『第 4 楼』:  

可以参考
http://bbs.verybat.org/viewthrea ... a=page%3D1#pid81403
http://bbs.verybat.org/viewthread.php?tid=9744&extra=page%3D2

   此帖被 +9 点积分      点击查看详情   
评分人:【 s11ss 分数: +5  时间:2008-10-12 21:31
评分人:【 wxcute 分数: +4  时间:2008-11-3 20:19


2008-10-12 11:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xzyx
初级用户





积分 50
发帖 19
注册 2008-2-9
状态 离线
『第 5 楼』:  

这涉及到“句柄备份”理论。
echo. 1>nul 3>2.txt 这句其实是使标准输出流的默认指向由原来的con变为2.txt。

2008-10-12 11:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xzyx
初级用户





积分 50
发帖 19
注册 2008-2-9
状态 离线
『第 6 楼』:  

echo. 1>con 4>con是恢复标准输出流原来的默认指向即con

2008-10-12 11:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by xzyx at 2008-10-12 11:02 AM:
可以参考
http://bbs.verybat.org/viewthrea ... a=page%3D1#pid81403
http://bbs.verybat.org/viewthread.php?tid=9744&extra=page%3D2

懵懂,xzyx兄的第一条链接是?

2008-10-12 21:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  Re 7楼

应该是这个吧:
http://bbs.verybat.org/viewthread.php?tid=9271

   此帖被 +3 点积分     点击查看详情   
评分人:【 s11ss 分数: +3  时间:2008-10-12 21:31




2008-10-12 21:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xzyx
初级用户





积分 50
发帖 19
注册 2008-2-9
状态 离线
『第 9 楼』:  

是,疏忽了。

2008-10-13 12:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: