Почему этой команде не удается вывести правильный код завершения команды 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"