Manera infalible de verificar el código de retorno distinto de cero (error) en el archivo por lotes de Windows
Hay muchos consejos para tratar con los códigos de retorno en archivos por lotes (utilizando el mecanismo ERROLEVEL), por ejemplo.
Obtener código de error dentro de un archivo por lotesERRORLEVEL dentro SIAlgunos de los consejos es hacerif errorlevel 1 goto somethingbad
, mientras que otros recomiendan usar el%ERRORLEVEL%
variable y usando==
, EQU
, LSS
, etc. Parece que hay problemas dentro deIF
declaraciones y cosas por el estilo, por lo tanto, se recomienda la expansión retardada, pero parece que tiene sus propias peculiaridades.
¿Qué es una manera infalible (es decir, robusta, por lo que funcionará en casi cualquier sistema con casi cualquier código de retorno) para saber si hay algún problema (distinto de cero) el código ha sido devuelto?
Mi intentoPara el uso básico, lo siguiente parece funcionar bien para detectar cualquier código de retorno distinto de cero:
if not errorlevel 0 (
echo error level was nonzero
)