Batch - Esperar a que termine un proceso

Resuelto
joujou07 Mensajes publicados 257 Fecha de registro   Estado Miembro -  
 anonyme -
Hola,
actualmente estoy trabajando en un batch, al inicio de este se lanza un programa y mi batch se pone en pausa, pero me gustaría que el batch continúe tan pronto como el proceso lanzado se cierre.
¿Alguien tiene la solución?

PD: Tengo Windows XP

6 respuestas

W95Psp Mensajes publicados 99 Fecha de registro   Estado Miembro Última intervención   36
 
Hola,
Para hacer que un proceso sea bloqueante en MS-DOS, basta con utilizar el comando start de la siguiente manera:
 start /wait path\file.exe 
8
anonyme
 
Meeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrciiiiiiiiiiiiiiiiiiiiiiiiiiiii
muchas gracias, lo estaba buscando desde........................
0
anonyme
 
TE QUIERO
de verdad
0
joujou07 Mensajes publicados 257 Fecha de registro   Estado Miembro 45
 
Démarrer
3
cchristian Mensajes publicados 928 Estado Miembro 131
 
Hola,

Prueba mejor con una LLAMADA, el INICIO no "devuelve" el control al que llama.
--
Atentamente.

Cchristian.
0
joujou07 Mensajes publicados 257 Fecha de registro   Estado Miembro 45 > cchristian Mensajes publicados 928 Estado Miembro
 
Franchement, es la segunda vez que me ayudas, ¡eres un crack en MS-DOS! ¡Gracias!
0
Tartempion
 
Hmm, bastante eficaz, pero tengo un caso que no resuelve: ¿cómo saber cuándo ha terminado un Installshield?
este último crea un proceso clon, así que, call no es suficiente :(

He intentado con diferentes parámetros de IS (incluyendo /deleter y /clone_wait o /wait_clone), eso no ha cambiado nada :(
0
Tartempion : le retour
 
Bueno, he encontrado una solución que funciona para mi caso, con un VBscript (.vbs)

Aquí está mi código, si el formato no lo arruina, solo hay que copiarlo/pegarlo para ejecutarlo.

En resumen, en mi caso, simplemente espero que dos procesos (los de un Installshield) terminen antes de continuar la ejecución.

El código que presento aquí es solo un script de espera, que es llamado, más arriba, por un batch que lanza varios otros batchs mediante calls.
i.e. :
call batch1.bat
call batch2.bat
call wait.vbs
call batch3.bat
etc...



'Script que espera a que finalice el proceso Installshield para permitir que las instalaciones continúen.
'Siempre he visto los mismos dos procesos en las máquinas: _INS5576._MP y _ISDEL.EXE
'Si por alguna razón, los procesos creados tienen otros nombres, será necesario lanzar las etapas manualmente,
'o encontrar una manera más confiable de automatizar las instalaciones.



wscript.sleep 5000 ' Esperamos un poco para estar seguros de que la instalación se ha iniciado

set svc=getobject("winmgmts:root\cimv2")
sQuery1="select * from win32_process where name='_INS5576._MP'" ' Nombre del proceso del cual queremos esperar su finalización
sQuery2="select * from win32_process where name='_ISDEL.EXE'" ' Nombre del proceso del cual queremos esperar su finalización
set cproc1=svc.execquery(sQuery1)
set cproc2=svc.execquery(sQuery2)
iniproc=cproc1.count + cproc2.count 'Número de procesos con el nombre buscado
Do While iniproc > 0 'Bucle mientras quede al menos uno en ejecución
wscript.sleep 1333 'Esperas relativamente pasivas
set svc=getobject("winmgmts:root\cimv2")
set cproc1=svc.execquery(sQuery1)
set cproc2=svc.execquery(sQuery2)
iniproc=cproc1.count + cproc2.count
Loop
set cproc1=nothing 'Liberación de la memoria ?? de variables del sistema ??
set cproc2=nothing
set svc=nothing

'Set WshShell = WScript.CreateObject("WScript.Shell")
'WshShell.Run "%windir%\notepad.exe", 1, True 'lanzamiento de un programa una vez que los esperados han terminado
'Set WshShell = Nothing
0
cchristian Mensajes publicados 928 Estado Miembro 131
 
Hola,

¿Tu batch lanza otro batch si he entendido bien?

¿Este programa llamado se activa con qué comando, CALL, START.............

--
Atentamente.

Cchristian.
1
Usuario anónimo
 
MS-DOS es un sistema mono-tarea (un comando a la vez), así que no es necesario incluir un código para esperar el final del proceso, eso ya se hace.

Si quieres esperar un poco:
 ping localhost > NUL 

@+
0
joujou07 Mensajes publicados 257 Fecha de registro   Estado Miembro 45
 
ok, lo intentaré
0
cchristian Mensajes publicados 928 Estado Miembro 131
 
Buenas noches,

Gracias, mantennos informados,
--
Atentamente.

Cchristian.
0
joujou07 Mensajes publicados 257 Fecha de registro   Estado Miembro 45
 
Era efectivamente eso.
0
cchristian Mensajes publicados 928 Estado Miembro 131
 
Hola,

Gracias por la respuesta,
--
Atentamente.

Cchristian.
0