Dentro de um arquivo em lotes no Windows, eu uso 7-zip como este:
...\right_path\7z a output_file_name.zip file_to_be_compressed
Como eu poderia verificar o código de saída 7z
e tomar as medidas apropriadas?
windows-xp
batch
Misha Moroshko
fonte
fonte
Respostas:
Teste para um código de retorno maior ou igual a 1:
ou
ou teste para um código de retorno igual a 0:
Você pode usar outros comandos, como
GOTO
onde eu mostroecho
.fonte
0 was unexpected this time.
%ERRORLEVEL%
0 é o mesmo que ocorreu um erro. Aconteceu ao fazer o check-%ERRORLEVEL%
in de um arquivo cmd. Tentarstart /wait
não funcionou. A única coisa que funcionou éif errorlevel 1 (...)
NEQ
vez deEQU
para suportar a detecção de códigos de retorno negativos? Não faço ideia se o Windows XP faz isso, mas é uma coisa em Windows moderno ...Isso realmente funciona quando você tem: App1.exe chama -> .bat que é executado -> app2.exe
App2 retorna o nível de erro 1 ... mas você precisa capturá-lo no .bat e aumentá-lo novamente para app1 ... caso contrário, o .bat come o nível de erro e o app1 nunca sabe.
Método:
Em .bat:
Esta é uma verificação após app2 para o nível de erro. Se> 0, o .bat sai e define o nível de erro como 1 para o aplicativo de chamada1.
fonte
if %ERRORLEVEL% GEQ 1 EXIT /B %ERRORLEVEL%
.IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
pode ser uma opção melhor. Mas você realmente precisa saber o que o programa retorna com erros. Alguns programas retornam certos códigos diferentes de zero para tipos especiais de sucesso.