2010-10-01 04:47:03 +0000 2010-10-01 04:47:03 +0000
71
71

¿Cómo comprobar el código de salida del último comando en el archivo por lotes?

Dentro de un archivo por lotes en Windows, utilizo 7-zip así:

...\right_pathz a output_file_name.zip file_to_be_compressed

¿Cómo podría comprobar el código de salida de 7z y tomar la acción adecuada?

Respuestas (2)

83
83
83
2010-10-01 04:58:39 +0000

Prueba para un código de retorno mayor o igual a 1:

if ERRORLEVEL 1 echo Error

o

if %ERRORLEVEL% GEQ 1 echo Error

o prueba para un código de retorno igual a 0:

if %ERRORLEVEL% EQU 0 echo OK

Puede utilizar otros comandos como GOTO donde muestro echo.

10
10
10
2013-04-19 05:07:33 +0000

Esto realmente funciona cuando tienes: App1.exe llama a -> .bat que ejecuta –> app2.exe

App2 devuelve el nivel de error 1… pero necesitas atrapar eso en el .bat y volver a subirlo a app1… de lo contrario .bat se come el nivel de error y app1 nunca lo sabe.

Método:

En el .bat:

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

Esto es una comprobación después de app2 para el errorlevel. Si > 0, entonces el .bat sale y pone errorlevel a 1 para la app1 que llama.