ti-enxame.com

Como posso fazer um arquivo de lote esperar/dormir por alguns segundos?

Eu uso um arquivo em lotes para iniciar alguns dos programas que eu preciso executar em segundo plano. Até agora, eu tinha usado o comando pause para executá-lo depois que algumas das outras start-ups terminaram. Eu preferiria usar os comandos wait ou sleep, mas eles não parecem estar incluídos no Windows 7.

Alguém sabe como colocar esses comandos de volta, ou um método diferente que alcança os mesmos resultados?

56
Cegorach

Há muitos utilitários de suspensão que você pode baixar e soltar na pasta System32, um deles é fornecido com o Windows Server 2003 Resource Kit chamado sleep.exe.

Você também pode usar o truque de ping:

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

então de algum lugar no seu arquivo de lote, você pode chamá-lo assim:

CALL :sleep 1
30
John T

Você pode usar o comando timeout:

Este utilitário aceita um parâmetro de tempo limite para aguardar o período de tempo especificado (em segundos) ou até que qualquer tecla seja pressionada. Também aceita um parâmetro para ignorar a tecla pressionada.

Por exemplo, para aguardar 10 segundos:

TIMEOUT /T 10

Para mais detalhes:

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

Há também

waitfor SomethingThatIsNeverHappening /t 10

Qual esperará entre 1 e 99999 segundos.

6
Fowl

sleep.exe está incluído no Windows Server 2003 Resource Kit Tools .

Você pode usar:

dormir /?
segundos de sono
sleep -m microssegundos

1
harrymc