it-swarm-es.com

¿Cómo hago un archivo por lotes de espera / suspensión por unos segundos?

Utilizo un archivo por lotes para iniciar algunos de los programas que necesito ejecutando en segundo plano. Hasta ahora, había usado el comando de pausa para ejecutarlo después de que algunos de los otros inicios terminaran. Preferiría usar los comandos de espera o suspensión, pero no parecen estar incluidos en Windows 7.

¿Alguien sabe cómo volver a poner esos comandos o un método diferente que logra los mismos resultados?

57
Cegorach

Hay muchas utilidades de suspensión que puede descargar y colocar en su carpeta System32, una se proporciona con el Kit de recursos de Windows Server 2003 llamado sleep.exe.

También puedes usar el truco de ping:

:sleep
ping 127.0.0.1 -n 2 -w 1000 > NUL
ping 127.0.0.1 -n %1 -w 1000 > NUL

luego, desde algún lugar de su archivo por lotes, puede llamarlo así:

CALL :sleep 1
30
John T

Puedes usar el comando timeout:

Esta utilidad acepta un parámetro de tiempo de espera para esperar el período de tiempo especificado (en segundos) o hasta que se presione alguna tecla. También acepta un parámetro para ignorar la pulsación de tecla.

Por ejemplo, para esperar 10 segundos:

TIMEOUT /T 10

Para más detalles:

TIMEOUT /?
126
Alex S
timeout /t <seconds> /nobreak > NUL
8
Prichard

También hay

waitfor SomethingThatIsNeverHappening /t 10

Que esperará entre 1 y 99999 segundos.

6
Fowl

sleep.exe se incluye en Herramientas del Kit de recursos de Windows Server 2003 .

Puedes utilizar:

dormir /?
segundos de sueño
sueño -m microsegundos

1
harrymc