Внутри командного файла в Windows я использую 7-Zip вот так:
...\right_path\7z a output_file_name.Zip file_to_be_compressed
Как я могу проверить код выхода 7z
и предпринять соответствующие действия?
Проверить код возврата, больший или равный 1:
if ERRORLEVEL 1 echo Error
или же
if %ERRORLEVEL% GEQ 1 echo Error
или проверить код возврата, равный 0:
if %ERRORLEVEL% EQU 0 echo OK
Вы можете использовать другие команды, такие как GOTO
, где я показываю echo
.
Это действительно работает, когда у вас есть: 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.