informatique:se:ms-dos:batch:pause

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
informatique:se:ms-dos:batch:pause [2023/02/02 07:47] – supprimée - modification externe (Unknown date) informatique:se:ms-dos:batch:pause [2023/02/02 07:47] (Version actuelle) – ↷ Page déplacée de informatique:se:msdos:batch:pause à informatique:se:ms-dos:batch:pause Cédric ABONNEL
Ligne 1: Ligne 1:
 +====== 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 <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**.
 +
 +===== 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.
 +
 +<code DOS wait.bat>
 +  ping 1.1.1.1 -n 1 -w %1000 >NUL
 +</code>
 +  
 +==== 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.