Melhor maneira de esperar alguns segundos em um arquivo bat?

Melhor maneira de esperar alguns segundos em um arquivo bat?

Possível duplicata:
Como dormir em um arquivo em lote?

Esta é uma maneira haxxorish de pausar por um segundo em um arquivo em lote:

PING 400.500.600.700 > NUL

Pesquisei no Google, mas não tenho certeza se existem melhores.. alguma ideia? :)

Responder1

Você pode usar as opções "escolha padrão" e "tempo limite" do comando de escolha integrado para criar um atraso.

@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...

Responder2

A maneira correta de fazer isso é usar otimeoutcomando, introduzido no Windows 2000.

Para esperar 30 segundos:

timeout /t 30

O tempo limite seria interrompido se o usuário pressionasse qualquer tecla; entretanto, o comando também aceita o opcional switch /nobreak, que efetivamente ignora qualquer coisa que o usuário possa pressionar, exceto um explícito CTRL-C:

timeout /t 30 /nobreak

Além disso, se não quiser que o comando imprima sua contagem regressiva na tela, você pode redirecionar sua saída para NUL:

timeout /t 30 /nobreak > NUL

Responder3

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

Apertar uma tecla irá ultrapassar a contagem regressiva e é a única desvantagem.

Responder4

Aparentementeo kit de recursos do Windows contém o comando sleep. OutroLocaistambém recomendo usar escolha.....

informação relacionada