我有两个 cmd 文件。 子命令:
@echo off
exit 1
父命令:
@echo off
cmd /C child.cmd
if %errorlevel% EQU 0 (
echo OK
) else (
echo ERROR
)
如果运行parent.cmd,会打印ERROR。
但是如果稍微改变一下parent.cmd,就会打印OK:
@echo off
if "YES" EQU "YES" (
cmd /C child.cmd
if %errorlevel% EQU 0 (
echo OK
) else (
echo ERROR
)
)
为什么第二个例子打印的是OK?
最佳答案
在代码块内,您需要延迟扩展
来访问%variables%
:
@echo off &setlocal enabledelayedexpansion
if !errorlevel! EQU 0 (
关于windows - 批处理文件的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18698609/