Ao escrever um arquivo em lotes para automatizar algo em uma caixa do Windows, precisei interromper sua execução por alguns segundos (geralmente em um loop de teste / espera, aguardando o início do processo). Naquela época, a melhor solução que eu encontrava usa o ping (não é brincadeira) para obter o efeito desejado. Encontrei uma descrição melhor aqui , que descreve um "wait.bat" exigível, implementado da seguinte maneira:
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul
Você pode incluir chamadas para wait.bat em seu próprio arquivo em lotes, passando o número de segundos para dormir.
Aparentemente, o Windows 2003 Resource Kit fornece um comando de suspensão semelhante ao Unix (finalmente!). Enquanto isso, para aqueles que ainda usam o Windows XP, Windows 2000 ou (infelizmente) o Windows NT , existe uma maneira melhor?
Modifiquei o sleep.py
script na resposta aceita , para que o padrão seja um segundo se nenhum argumento for passado na linha de comando:
import time, sys
time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)
ping
comando ou faça o download do kit de recursos do Windows, que inclui um sleep
comando. Mais detalhes aqui: Arquivo em lote SLEEP Command