Введение
Там много советов по работе с кодами возврата в пакетных файлах (с использованием механизма ERROLEVEL), например
Некоторые из рекомендаций - сделать if errorlevel 1 goto somethingbad
, в то время как другие рекомендуют использовать
%ERRORLEVEL%
и используя ==
, EQU
, LSS
и т.д. Кажется, что возникают проблемы в операторах IF
и т.д., поэтому поощряется замедленная экспансия, но, похоже, она имеет свои собственные причуды.
Вопрос
Что такое надежный (т.е. надежный, поэтому он будет работать практически с любой системой с почти любым кодом возврата), чтобы узнать, был ли возвращен плохой (отличный от нуля) код?
Моя попытка
Для базового использования, похоже, работает нормально, чтобы поймать ненужный код возврата:
if not errorlevel 0 (
echo error level was nonzero
)