Внутри командного файла в Windows я использую 7-zip следующим образом:
...\right_path\7z a output_file_name.zip file_to_be_compressed
Как я могу проверить код выхода 7z
и предпринять соответствующие действия?
windows-xp
batch
Миша Морошко
источник
источник
Ответы:
Проверить код возврата, больший или равный 1:
или же
или проверить код возврата, равный 0:
Вы можете использовать другие команды, такие как,
GOTO
где я показываюecho
.источник
0 was unexpected this time.
%ERRORLEVEL%
0, хотя произошла ошибка. Произошло при проверке%ERRORLEVEL%
в cmd-файле. Попыткаstart /wait
не сработала. Единственное, что сработалоif errorlevel 1 (...)
NEQ
вместоEQU
поддержки обнаружения отрицательных кодов возврата? Понятия не имею, если Windows XP делает это, но это вещь для современных Windows ...Это действительно работает, когда у вас есть: App1.exe вызывает -> .bat, который работает -> app2.exe
App2 возвращает уровень ошибки 1 ... но вам нужно перехватить это в .bat и повторно поднять его до app1 ... в противном случае .bat съедает уровень ошибки, и app1 никогда не узнает.
Метод:
В .bat:
Это проверка после app2 уровня ошибки. Если> 0, то .bat выходит и устанавливает errorlevel в 1 для вызывающего app1.
источник
if %ERRORLEVEL% GEQ 1 EXIT /B %ERRORLEVEL%
.IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
может быть лучшим вариантом. Но вам действительно нужно знать, что программа возвращает в случае ошибок. Некоторые программы возвращают определенные ненулевые коды для особых типов успеха.