Почему этой команде не удается вывести правильный код завершения команды Python?

В окне cmd.exe, когда я запускаю python -c "exit(12)" а потом беги echo %errorlevel%печатает 12, После этого, когда я бегу python -c "exit(13)" & echo %errorlevel%печатает 12,

Почему вторая команда не может вывести правильный код выхода?

1 ответ

Решение

Подстановка%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"
Другие вопросы по тегам