Comment effectuer une pause de n secondes dans un fichier batch:



Pour effectuer une commande similaire à la commande Wait (sous linux), il existe plusieurs solutions:

1 ère solution:

"ping 127.0.0.1 -n X > NUL"

Sachant que le ping effectue une requête toutes les secondes environ, il suffit de remplacer le X par le nombre de secondes désirées.
"ping 127.0.0.1 -n 20 > NUL" donnera une pause d'environ 20 secondes.



2 ème solution:
Concevoir une boucle comme la suivante:

Début de la boucle
rem initialisation de la variable "compter"
set compter = 1 
:boucle_compter 
set /a compter = compter + 1 
if %compter% == X goto suite 
goto boucle 
 :suite 
Fin de boucle
... suite du programe
 
Ici la valeur de X doit être grande. Si X= 2000, celà nous donnera environ 10 secondes.
Cette deuxième solution est plus lourde à mettre en place et reste moins présice que la première sachant que le temps n'aura pas la même valeur en fonction de la puissance du processeur.