中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-02 04:41
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 求助关于循环里的ERRORLEVEL值的问题 高手指点 谢谢 查看 693 回复 4
楼 主 求助关于循环里的ERRORLEVEL值的问题 高手指点 谢谢 发表于 2008-02-27 09:21 ·  中国 河南 郑州 联通
初级用户
积分 43
发帖 18
注册 2008-01-02 10:37
18年会员
UID 107448
性别 男
状态 离线
在CMD里执行
@echo off
@for /f "tokens=*" %a in ('dir /b /ad /s c:\a^|sort /r') do (
@rd "%a" /q |findstr 目录不是空的。
@echo %errorlevel%
)
返回ERRORLEVEL为1 返回值很正常

在批处理里执行
@echo off
@for /f "tokens=*" %%a in ('dir /b /ad /s c:\a^|sort /r') do (
@rd "%%a" /q |findstr 目录不是空的。
@echo %errorlevel%
)
无论如何返回值都为0 这是怎么回事

高手回答下 小弟谢过
2 发表于 2008-02-27 10:02 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
启用延迟环境变量扩展并使用 !errorlevel!来代替%errorlevel%试试。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2008-02-28 01:23 ·  中国 河南 郑州 电信
初级用户
积分 43
发帖 18
注册 2008-01-02 10:37
18年会员
UID 107448
性别 男
状态 离线
我试一试 谢谢你了
4 发表于 2008-02-28 01:26 ·  中国 河南 郑州 电信
初级用户
积分 43
发帖 18
注册 2008-01-02 10:37
18年会员
UID 107448
性别 男
状态 离线
高人啊

一下就解决我的问题了。。
5 发表于 2008-02-28 01:27 ·  中国 河南 郑州 电信
初级用户
积分 43
发帖 18
注册 2008-01-02 10:37
18年会员
UID 107448
性别 男
状态 离线
还是不对啊


这次不管怎么样都是1呀

请再指教
论坛跳转: