如果我制作一个名为 temp.bat 的批处理脚本(例如),其中包含:
exit /b 1
当我以各种方式运行它时,我的 32 位 XP 系统与 64 位 XP 系统的行为不同。
在 32 位上:
> temp.bat
> echo %ERRORLEVEL%
1
> cmd /c temp.bat
> echo %ERRORLEVEL%
0
在 64 位上:
> temp.bat
> echo %ERRORLEVEL%
1
> cmd /c temp.bat
> echo %ERRORLEVEL%
1
我搜索了 cmd.exe 选项,但找不到任何控制它如何从批处理脚本传播错误级别信息的选项。在这一点上,我无法为这种差异找到任何合理的解释。