中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 10:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何屏蔽FOR (SET)括号部分输出错信息.(已结) 查看 745 回复 2
楼 主 如何屏蔽FOR (SET)括号部分输出错信息.(已结) 发表于 2008-08-09 19:37 ·  中国 广东 汕头 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
19年会员
UID 79169
性别 男
状态 离线
@echo off
set drv=z y x w v u t s r q p o n m l k j i h g f e d c
for %%c in (%drv%) do (
for /f "tokens=* delims=*" %%c in ('dir /a-d/b/s %%c:\qq.exe') do (
echo %%~dpc
))
pause


如何屏蔽('dir /a-d/b/s %%c:\qq.exe')这部分错误输出信息.


@echo off
set drv=z y x w v u t s r q p o n m l k j i h g f e d c
for %%c in (%drv%) do (
for /f "tokens=* delims=*" %%i in ('dir /a-d/b/s %%c:\*.com') do (
echo %%~ni
)
)
pause


('dir /a-d/b/s %%c:\*.com')这部分系统找不到文件路径和设备未准备就绪的错误信息如何屏蔽了, 2>nul用在这里哪个位置都会造成整句不能运行.

[ Last edited by haiou327 on 2008-8-10 at 11:16 AM ]
附件
error.JPG
2 发表于 2008-08-10 07:46 ·  中国 上海 虹口区 电信
中级用户
★★
积分 248
发帖 126
注册 2008-05-30 17:18
18年会员
UID 120118
性别 男
状态 离线
第一部分:我改动了一下你的批处理,得到解决:

@echo on
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%c in (%drv%) do (
for /f "delims=*" %%c in ('dir /a-d/b/s %%c:\qq.exe') do (
echo %%~dpc
))2>nul
pause


第二部分也如法炮制得到解决

@echo off
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%c in (%drv%) do (
for /f "delims=*" %%i in ('dir /a-d/b/s %%c:\*.com') do (
echo %%~ni
)
)2>nul
pause
3 发表于 2008-08-10 11:15 ·  中国 广东 汕头 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
19年会员
UID 79169
性别 男
状态 离线
不胜感激!!!!!!!!!!!!!
论坛跳转: