中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 10:30
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何去除找不到文件的提示 查看 584 回复 4
楼 主 如何去除找不到文件的提示 发表于 2008-08-19 11:15 ·  中国 上海 静安区 电信
初级用户
★★
积分 191
发帖 86
注册 2008-08-18 12:12
17年会员
UID 123477
性别 男
状态 离线
有这么一段批处理
@echo off
for /f "delims=" %%i in ('dir "c:\system\" /b/s/d/a-d') do echo "%%i"-"%setup%:%%~pnxi">>1.txt
pause>nul
现在创建c:\system(空文件夹),运行上述命令后屏幕会提示找不到文件,我想把这个提示隐藏。
但是发现在语句后加>nul,即使c:\system内有文件,也不能把正确的输出结果放到1.txt中了,怎么办?

[ Last edited by wuhanbin on 2008-8-19 at 11:18 AM ]
2 发表于 2008-08-19 11:30 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
for /f "delims=" %%i in ('dir "c:\system\" /b/s/d/a-d 2^>nul') do echo "%%i"-"%setup%:%%~pnxi">>1.txt
pause>nul


[ Last edited by HAT on 2008-8-19 at 11:31 AM ]
3 发表于 2008-08-19 12:56 ·  中国 上海 静安区 电信
初级用户
★★
积分 191
发帖 86
注册 2008-08-18 12:12
17年会员
UID 123477
性别 男
状态 离线
想请教一下,2楼代码 2^>nul' 中的2^是什么意思?看不懂
4 发表于 2008-08-19 13:33 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
2表示出错信息,可以搜索一下"句柄和重定向"相关的文章。
^用来对后面的>进行转义:

CMD/DOS下符号的作用参考
http://www.cn-dos.net/forum/viewthread.php?tid=30985&fpage=4
5 发表于 2008-08-19 13:55 ·  中国 上海 静安区 电信
初级用户
★★
积分 191
发帖 86
注册 2008-08-18 12:12
17年会员
UID 123477
性别 男
状态 离线
万分感谢
论坛跳转: