2010-10-01 04:47:03 +0000 2010-10-01 04:47:03 +0000
71
71

Как проверить код выхода последней команды в пакетном файле?

Внутри пакетного файла в Windows я использую 7-zip вот так:

...\right_pathz a output_file_name.zip file_to_be_compressed

Как я могу проверить код выхода 7z и предпринять соответствующие действия?

Ответы (2)

83
83
83
2010-10-01 04:58:39 +0000

Тестирование на код возврата, равный 1:

if ERRORLEVEL 1 echo Error

или

if %ERRORLEVEL% GEQ 1 echo Error

или тест на код возврата, равный 0:

if %ERRORLEVEL% EQU 0 echo OK

Вы можете использовать другие команды, такие как GOTO, где я показываю echo.

10
10
10
2013-04-19 05:07:33 +0000

Это действительно работает, когда у тебя есть: App1.exe вызывает -> .bat, который работает –> app2.exe

App2 возвращает уровень ошибок 1… но вы должны поймать это в .bat и поднять его до уровня app1… иначе .bat съест уровень ошибок и app1 никогда не узнает.

Метод:

В .bat:

app2.exe
if %ERRORLEVEL% GEQ 1 EXIT /B 1

Это проверка после App2 на уровень ошибок. Если > 0, то .bat выходит и устанавливает уровень ошибок 1 для вызывающего app1.