Mi comando tarda mucho en ejecutarse, pero espero que pueda terminar con un error y quiero fallar rápidamente en el ciclo por lotes en este caso. ¿Cómo produzco el nivel de error?
Intenté un archivo por lotes con exit 1
. Pero, cierra la secuencia de comandos principal independientemente de si se llama con call raise_error.bat
o simplemente raise_error
.
Yo también lo intenté cmd /c exit 1
. Esto no cierra el script principal sino el siguiente if errorlevel 0 goto exit
y if errorlevel 1 goto exit
ambos se bifurcan para salir. No se toma una salida anticipada en caso de if errorlevel 2 goto exit
o un número mayor. ¿Cómo es posible? Quiero decir, ¿cómo puedo tener dos niveles de error al mismo tiempo? ¿No son valores de una sola variable que se excluyen mutuamente?
¿Cómo se inyecta el código de salida de error?