web-dev-qa-db-fra.com

Suspension d'un fichier de commandes pendant un certain temps

Doublons possibles:
Dormir dans un fichier batch DOS
Comment attendre dans un script batch

J'ai un programme qui démarre avec un fichier batch.

Le premier module prend environ 10 secondes pour s'initialiser, et je veux un moyen de "dormir" pendant 15 secondes avant d'appeler le deuxième module, mais je ne veux pas qu'il oblige l'utilisateur à appuyer sur une touche comme "pause" semble requérir.

Voilà donc ce que je veux dire:

echo %PATH%

pause 10

echo %PATH%

Dans cet exemple, je veux qu'il y ait 10 secondes entre les échos. Est-ce possible? J'ai vu quelques exemples utilisant "ping 1.1.1.1" mais cela ne semble pas fonctionner tout le temps correctement.

11
mainstringargs
ping -n 11 -w 1000 127.0.0.1 > nul

Mise à jour

Erreur du débutant. Le ping n'attend pas 1000 ms avant ou après une requête, mais entre les requêtes. Donc, pour attendre 10 secondes, vous devrez faire 11 pings pour avoir 10 "intervalles" d'une seconde entre les deux.

17
GolezTrol

Si choice est disponible, utilisez ceci:

choice /C X /T 10 /D X > nul

/T 10 est le nombre de secondes à retarder. Notez que la syntaxe peut varier en fonction de votre version de Windows, utilisez donc CHOICE /? être sûr.

13
schnaader