使用 Python 设置 Windows ErrorLevel

Using Python to set Windows ErrorLevel

我正在调查 运行 通过 YAML 文件编写程序的应用程序。

我需要编写一个 Python 脚本,该脚本以命令行参数中指定的代码退出 [1]。

我的尝试(exit_code_argument.py):

import sys
sys.exit(sys.argv[1])

想法是 Python 脚本在脚本退出或终止时设置 Windows 命令提示符的 ErrorLevel 变量。

我总是将 ErrorLevel 设置为零:

C:\sandboxes\git\utfa>python exit_code_argument.py 1
1

C:\sandboxes\git\utfa>echo %errorlevel%
1

C:\sandboxes\git\utfa>python exit_code_argument.py 27
27

C:\sandboxes\git\utfa>echo %errorlevel%
1

C:\sandboxes\git\utfa>python exit_code_argument.py 3
3

C:\sandboxes\git\utfa>echo %errorlevel%
1

C:\sandboxes\git\utfa>python exit_code_argument.py 0
0

C:\sandboxes\git\utfa>echo %errorlevel%
1

我的目标是 运行 exit_code_argument.py 3 并让语句 echo %errorlevel% 在控制台上打印 3(与 exit_code_argument.py 的第一个参数相同的数字)。

我做错了什么或如何修复 Python 脚本?

问题是您需要 return 一个整数,而您 return 是一个字符串。尝试:

sys.exit(int(sys.argv[1]))

你应该获得幸福。