Une commande « sleep » sous Windows… avec les moyens du bord

La commande sleep est l’une des commandes Unix qui me manquent le plus sous Windows, avec notamment le très classique ls.

Il est possible de la rajouter via un exécutable que l’on peut trouver sur Internet (comme wget !), mais comment faire lorsqu’il n’est pas possible d’y rajouter quoi que ce soit (en raison d’une politique de sécurité, notamment) ou que l’on veut une solution « universelle » ?

Et bien… avec un ping. Un simple ping qui, correctement paramétré, ne rendra la main qu’à l’issue d’un temps déterminé.

ping 127.0.0.1 -w 1000 -n 15 > nul

Explications :

- Le paramètre w détermine le temps d’exécution de chaque requête ICMP (en millisecondes).
- Le paramètre n détermine le nombre de requêtes ICMP à tenter.
- Le renvoi vers nul permet d’éviter tout affichage du résultat, puisqu’il ne nous intéresse pas.

De cette façon, dans l’exemple, nous avons 15 requêtes de 1000 millisecondes effectuées avant de « rendre la main », de façon totalement transparente pour l’utilisateur.

Toutefois, pour une durée souhaitée n, le temps d’exécution sera de (n-1) secondes. Il convient donc d’incrémenter de 1 la durée souhaitée.



Commentaire (1)

Steve19 avril 2011 à 17 h 02 min

Merci pour cette petite astuce

Laisser un commentaire

Votre commentaire