在cmd.exe窗口中,当我运行python -c "exit(12)"
然后运行echo %errorlevel%
时,它会打印12
。之后,当我运行python -c "exit(13)" & echo %errorlevel%
时,会打印12
。
为什么第二个命令无法打印正确的退出代码?
答案 0 :(得分:3)
运行命令时会发生%errorlevel%的替换。当您按下“回车”键时,它会反映%errorlevel%的值。
作为一个例子考虑:
> set foo=foo
> echo %foo%
foo
> set foo=bar & echo %foo%
foo
> echo %foo%
bar
你可以检查这样的错误级别:
> python -c 'exit(13)' & if errorlevel 13 echo "its 13"