Crea un archivo master.bat que inicia one.bat y two.bat. Cuando one.bat y two.bat final correctamente, se hacen eco de que hayan terminado de presentar
if errorlevel 0 echo ok>c:\temp\OKONE
if errorlevel 0 echo ok>c:\temp\OKTWO
Entonces el master.bat esperar a que la existencia de los dos archivos
del c:\temp\OKONE
del c:\temp\OKTWO
start one.bat
start two.bat
:waitloop
if not exist c:\temp\OKONE (
sleep 5
goto waitloop
)
if not exist c:\temp\OKTWO (
sleep 5
goto waitloop
)
start three.bat
start four.bat
Otra forma es tratar de con la bandera/WAIT
start /WAIT one.bat
start /WAIT two.bat
pero no tiene control alguno sobre los errores.
Aquí hay algunas referencias
http://malektips.com/xp_dos_0002.html
http://ss64.com/nt/sleep.html
http://ss64.com/nt/start.html
'start/WAIT xxx' espera a que xxx termine antes de permitir que la ejecución pase a la siguiente línea en el archivo por lotes. Entonces 'one.bat' tendría que terminar antes de que' two.bat' pudiera incluso comenzar. Usted PODRÍA asumir que 'one.bat' siempre terminará primero y usar' start/wait two.bat', pero eso es toda una suposición. Por cierto, no es necesario 'iniciar four.bat', simplemente' puede llamar a four.bat', (o incluso dejar de 'llamar' si no se hace nada más después de ejecutar' four.bat') y guarde la memoria que se usaría al iniciar otro procesador de comandos. –
Marcado como útil para el enfoque compartido antes de la mención de inicio/ESPERA. También asegúrese de eliminar esos archivos de master.bat antes de iniciar one.bat y two.bat. –
Gracias por la sugerencia, edité la publicación en consecuencia :-) –