
Mi comando tarda mucho en ejecutarse, pero espero que finalice con un error y, en este caso, quiero que el ciclo por lotes falle rápidamente. ¿Cómo produzco el nivel de error?
Probé un archivo por lotes con exit 1
. Pero cierra el script 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 que lo sigue if errorlevel 0 goto exit
y if errorlevel 1 goto exit
ambos se bifurcan para salir. No se tomará ninguna salida anticipada en caso de que if errorlevel 2 goto exit
haya un número mayor. ¿Cómo es posible? Quiero decir, ¿cómo puedo tener dos niveles de error al mismo tiempo? ¿No son los valores de una sola variable mutuamente excluyentes?
¿Cómo inyecto el código de salida de error?