81 votes

Comment faire en sorte qu'un fichier batch attende ou se mette en veille pendant quelques secondes ?

J'utilise un fichier batch pour démarrer quelques programmes dont j'ai besoin en arrière-plan. Jusqu'à présent, j'avais utilisé la commande pause pour l'exécuter après la fin de certains autres démarrages. Je préférerais utiliser les commandes wait ou sleep, mais elles ne semblent pas être incluses dans Windows 7.

Quelqu'un sait-il comment remettre ces commandes en place, ou une autre méthode permettant d'obtenir les mêmes résultats ?

164voto

Chris Johns Points 421

Vous pouvez utiliser le timeout commandement :

Cet utilitaire accepte un paramètre de délai d'attente pour attendre la valeur de spécifié (en secondes) ou jusqu'à ce qu'une touche soit pressée. Il accepte également un paramètre pour ignorer l'appui sur la touche.

Par exemple, pour attendre 10 secondes :

TIMEOUT /T 10

Pour plus de détails :

TIMEOUT /?

34voto

Dalroth Points 2468

Il existe de nombreux utilitaires de mise en veille que vous pouvez télécharger et déposer dans votre dossier System32. Kit de ressources Windows Server 2003 appelé sleep.exe .

Vous pouvez aussi utiliser l'astuce du ping :

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

puis quelque part dans votre fichier batch, vous pouvez l'appeler comme ça :

CALL :sleep 1

11voto

Prichard Points 101
timeout /t <seconds> /nobreak > NUL

7voto

Brian Willis Points 5426

Il y a également

waitfor SomethingThatIsNeverHappening /t 10

Qui attendra entre 1 et 99999 secondes.

2voto

harrymc Points 394411

Sleep.exe est inclus dans le Outils du kit de ressources Windows Server 2003 .

Vous pouvez utiliser :

dormir / ?
secondes de sommeil
dormir -m microsecondes

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X