Como verificar o código de saída do último comando no arquivo de lote?

64

Dentro de um arquivo de lote no Windows, eu uso 7-zip assim:

...\right_pathz a output_file_name.zip file_to_be_compressed

Como eu posso verificar o código de saída de 7z e tomar a ação apropriada?

    
por Misha Moroshko 01.10.2010 / 06:47

2 respostas

75

Teste um código de retorno maior ou igual a 1:

if ERRORLEVEL 1 echo Error

ou

if %ERRORLEVEL% GEQ 1 echo Error

ou teste para um código de retorno igual a 0:

if %ERRORLEVEL% EQU 0 echo OK

Você pode usar outros comandos, como GOTO , onde mostro echo .

    
por 01.10.2010 / 06:58
9

Isso realmente funciona quando você tem: chamadas do App1.exe - > .bat que executa - > app2.exe

App2 retorna errorlevel 1 ... mas você precisa pegar isso no .bat e reelevá-lo para app1 ... caso contrário, o .bat come o errorlevel e o app1 nunca sabe.

Método:

Em .bat:

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

Esta é uma verificação após app2 para errorlevel. Se > 0, então o .bat sai e configura errorlevel para 1 para o app1 de chamada.

    
por 19.04.2013 / 07:07