2011-12-13 39 views
23

Tengo un archivo por lotes ventanas que se parece a:¿Cómo se evita que un archivo Windows Batch salga temprano?

C:\DoStuff.cmd 
move output.bak C:\newfolder\output.bak 

El problema que tengo es que DoStuff.cmd ejecuta un programa Java que sale una vez que completas el lote se ejecutan de nuevo a la línea de comandos. La línea 2 nunca es golpeada.

he intentado lo siguiente en lugar de ejecutar el comando en una nueva ventana:

start "My program" /WAIT C:\DoStuff.cmd 
move output.bak C:\newfolder\output.bak 

Lo que sucede con lo anterior es que la nueva ventana de comandos genera ejecutado el archivo de CMD y sale de nuevo a la línea de comandos de espera y la ventana nunca se cierra, dejando la primera ventana de comando esperando y la segunda sin hacer nada después de terminar el primer paso.

¿Cómo ejecuto el primer comando sin tener el control de la ejecución del lote de alguna manera?

muchas gracias de antemano

Respuesta

34

Puede utilizar DOS call command:

@echo off 
call C:\DoStuff.cmd 
echo Exit Code = %ERRORLEVEL% 

Después de conseguir el código de error se puede proceder por ejemplo, con:

if "%ERRORLEVEL%" == "1" exit /B 1 
Cuestiones relacionadas