it-swarm-eu.dev

Come faccio ad aspettare/dormire un file batch per alcuni secondi?

Uso un file batch per avviare alcuni dei programmi che ho bisogno di eseguire in background. Fino ad ora, avevo usato il comando di pausa per eseguirlo dopo che alcune delle altre start-up erano finite. Preferirei usare i comandi wait o sleep ma non sembrano essere inclusi in Windows 7.

Qualcuno sa come rimettere questi comandi, o un metodo diverso che raggiunge gli stessi risultati?

56
Cegorach

Esistono molte utilità di sospensione che è possibile scaricare e rilasciare nella cartella System32, una è fornita con Resource Kit di Windows Server 2003 denominato sleep.exe.

Puoi anche usare il trucco del ping:

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

quindi da qualche parte nel file batch, puoi chiamarlo in questo modo:

CALL :sleep 1
30
John T

Puoi usare il comando timeout:

Questa utility accetta un parametro di timeout per attendere il periodo di tempo specificato (in secondi) o finché non viene premuto un tasto qualsiasi. Accetta anche un parametro per ignorare la pressione dei tasti.

Ad esempio, per attendere 10 secondi:

TIMEOUT /T 10

Per ulteriori dettagli:

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

C'è anche

waitfor SomethingThatIsNeverHappening /t 10

Che attenderà tra 1 e 99999 secondi.

6
Fowl

sleep.exe è incluso in Strumenti del Resource Kit di Windows Server 2003 .

Puoi usare:

dormire /?
secondi di sonno
sleep -m microsecondi

1
harrymc