====== 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 ?** ===== Linux ===== Sous Linux, la commande **sleep** permet d'attendre un moment spécifié avant de poursuivre. ==== Syntaxe ==== sleep 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**. ===== 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. 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. 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.