代码之家  ›  专栏  ›  技术社区  ›  userpal

为什么此命令无法打印Python命令的正确退出代码?

  •  1
  • userpal  · 技术社区  · 10 年前

    在cmd.exe窗口中,当我运行 python -c "exit(12)" 然后运行 echo %errorlevel% ,它打印 12 。之后,当我跑步时 python -c "exit(13)" & echo %errorlevel% ,它打印 12 .

    为什么第二个命令无法打印正确的退出代码?

    1 回复  |  直到 10 年前
        1
  •  3
  •   Jeremy Allen    10 年前

    运行命令时会替换%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"