64

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

...\right_path\7z a output_file_name.zip file_to_be_compressed

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

2 ответа2

76

Проверить код возврата, больший или равный 1:

if ERRORLEVEL 1 echo Error

или же

if %ERRORLEVEL% GEQ 1 echo Error

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

if %ERRORLEVEL% EQU 0 echo OK

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

9

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

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

Метод:

В .bat:

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .