¿Mejor manera de esperar unos segundos en un archivo bat?

¿Mejor manera de esperar unos segundos en un archivo bat?

Posible duplicado:
¿Cómo dormir en un archivo por lotes?

Aquí hay una forma haxxorish de pausar por un segundo en un archivo por lotes:

PING 400.500.600.700 > NUL

Busqué en Google pero no estoy seguro de que haya otros mejores... ¿Alguna idea? :)

Respuesta1

Puede utilizar las opciones "elección predeterminada" y "tiempo de espera" del comando de elección integrado para crear un retraso.

@echo off
echo Hi, I'm doing some stuff
echo OK, now I need to take a breather for 5 seconds...
choice /d y /t 5 > nul
echo Times up! Here I go again...

Respuesta2

La forma correcta de hacer esto es utilizar eltimeoutcomando, introducido en Windows 2000.

Para esperar 30 segundos:

timeout /t 30

El tiempo de espera se interrumpirá si el usuario presiona cualquier tecla; sin embargo, el comando también acepta el modificador opcional /nobreak, que efectivamente ignora cualquier cosa que el usuario pueda presionar, excepto un explícito CTRL-C:

timeout /t 30 /nobreak

Además, si no desea que el comando imprima su cuenta regresiva en la pantalla, puede redirigir su salida a NUL:

timeout /t 30 /nobreak > NUL

Respuesta3

@echo off
echo It is time for liftoff.
timeout /t 5
echo Commencing crash sequence.
timeout /t 5

Pulsar una tecla anulará la cuenta atrás y es el único inconveniente.

Respuesta4

Aparentementeel kit de recursos de Windows tiene el comando de suspensión. OtroSitiosTambién recomiendo usar la opción.....

información relacionada