При написании командного файла для автоматизации чего-либо на Windows-боксе мне нужно было приостановить его выполнение на несколько секунд (обычно в цикле тестирования/ожидания, ожидая запуска процесса). В то время лучшее решение, которое я мог найти, использует ping (я не шучу) для достижения желаемого эффекта. Я нашел лучшее описание этого здесь, которое описывает вызываемый "wait.bat", реализованный следующим образом:
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul
Затем вы можете включить вызовы wait.bat в свой собственный пакетный файл, передав количество секунд для сна.
Очевидно, Windows 2003 Resource Kit предоставляет Una-подобную команду сна (наконец-то!). В то же время, для тех из нас, кто все еще использует Windows XP, Windows 2000 или (к сожалению) Windows NT, есть ли лучший способ?
Я изменил сценарий sleep.py
в принятом ответе, поэтому по умолчанию он равен одной секунде, если в командной строке не передано никаких аргументов:
import time, sys
time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)