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.bato 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 exity if errorlevel 1 goto exitambos se bifurcan para salir. No se toma una salida anticipada en caso de if errorlevel 2 goto exito 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?

Val
fuente