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 ?
1. Linux
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.
2. DOS / Windows
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.
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.