informatique:pause

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.

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.

ping 1.1.1.1 -n 1 -w 1000 > nul

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

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

ping 1.1.1.1 -n 5 > nul

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

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/pause.txt
  • Dernière modification : 2021/08/03 22:11
  • de Cédric ABONNEL