Effectuer une pause

Voilà une question que l'on peut se poser quand on écrit des batchs : Comment réaliser une pause de X secondes ?

Sous Linux, la commande sleep permet d'attendre un moment spécifié avant de poursuivre.

Syntaxe

sleep <NUMBER><SUFFIX>

Par défaut, le nombre (NUMBER) indiqué est des secondes. Le nombre indiqué doit être un entier.
L'attente peut être en secondes (s), minutes, heures (h) ou jours (d). Il est mentionné par le paramètre SUFFIX.

Sous Windows, on utilisera la commande ping. Deux paramètres nous seront utile : le délai d'attente d'une réponse (w) et le nombre d'essai (n). On effectuera un ping sur une adresse qui ne peut pas être jointe.

Pour Windows XP, le fonctionnement de Ping diffère. On retiendra une autre syntaxe.

Syntaxe Windows XP

ping 1.1.1.1 -n 5 > nul

Syntaxe

ping 1.1.1.1 -n 1 -w 1000 > nul

L'option w doit être indiqué en millisecondes.

Batch

La syntaxe précédente ne nous permet d'effectuer une commande passe-partout, du genre wait 5.

Pour réaliser cet aspect là, nous écrirons un batch. Il permettra de traiter un argument.

L'argument sera le nombre de secondes que l'on souhaite attendre.

wait.bat
  ping 1.1.1.1 -n 1 -w %1000 >NUL

Remarque

J'ai vu qu'il était également possible d'utiliser la commande choice avec l'option /t. Cependant, il est dommage que toute action sur le clavier annulera l'attente.

  • informatique/batch/pause.txt
  • Dernière modification: 2016/04/10 15:53
  • par Cedric ABONNEL