Board logo

标题: 求助关于循环里的ERRORLEVEL值的问题 高手指点 谢谢 [打印本页]

作者: mggdx     时间: 2008-2-27 09:21    标题: 求助关于循环里的ERRORLEVEL值的问题 高手指点 谢谢
在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 这是怎么回事

高手回答下 小弟谢过

作者: Climbing     时间: 2008-2-27 10:02
启用延迟环境变量扩展并使用 !errorlevel!来代替%errorlevel%试试。

作者: mggdx     时间: 2008-2-28 01:23
我试一试 谢谢你了

作者: mggdx     时间: 2008-2-28 01:26
高人啊

一下就解决我的问题了。。

作者: mggdx     时间: 2008-2-28 01:27
还是不对啊


这次不管怎么样都是1呀

请再指教