Board logo

标题: [数值计算] [已解决]errorlevel于批处理与命令窗口返回值不同 [打印本页]

作者: cryfordog    时间: 2009-11-1 23:58     标题: [已解决]errorlevel于批处理与命令窗口返回值不同

批处理:

@echo off
explorer c:\windows
echo %errorlevel%
rem 显示errorlevel 值为1
pause



cmd命令窗口:

explorer c:\windows
echo %errorlevel%
rem 显示errorlevel 值为0


errorlevel于批处理与命令窗口返回值不同?
为什么???
谢谢。。。。

[ 本帖最后由 cryfordog 于 2009-11-2 22:14 编辑 ]
作者: zqz0012005    时间: 2009-11-2 21:24

explorer.exe比较特殊,打开所有的资源管理器窗口都是共用一个进程。
在批处理中不用start而直接运行程序,会等待程序运行结束才执行下一条命令。但运行explorer不会这样,它没有创建新的进程。
start explorer,errorlevel就正常了。
作者: cryfordog    时间: 2009-11-2 22:13

恩。谢谢,虽不太明白原理,但以后会注意的。
在批处理中打开资源管理器,用start 或者start explorer命令才能返回正确的errorlevel值。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2