Al escribir un archivo por lotes para automatizar algo en un cuadro de Windows, he tenido que pausar su ejecución durante varios segundos (generalmente en un ciclo de prueba / espera, esperando que se inicie un proceso). En ese momento, la mejor solución que pude encontrar utiliza ping (no es broma) para lograr el efecto deseado. He encontrado una mejor redacción aquí , que describe un "wait.bat" invocable, implementado de la siguiente manera:
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul
Luego puede incluir llamadas a wait.bat en su propio archivo por lotes, pasando el número de segundos para dormir.
Aparentemente, el Kit de recursos de Windows 2003 proporciona un comando de suspensión similar a Unix (¡por fin!). Mientras tanto, para aquellos de nosotros que todavía usamos Windows XP, Windows 2000 o (lamentablemente) Windows NT , ¿hay una mejor manera?
Modifiqué el sleep.py
script en la respuesta aceptada , de modo que su valor predeterminado sea un segundo si no se pasan argumentos en la línea de comando:
import time, sys
time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)
ping
comando o descargue el kit de recursos de Windows que incluye un sleep
comando. Más detalles aquí: Archivo por lotes SLEEP Command