Lors de l'écriture d'un fichier batch pour automatiser quelque chose sur une boîte Windows, j'ai dû suspendre son exécution pendant plusieurs secondes (généralement dans une boucle de test / attente, en attendant le démarrage d'un processus). À l'époque, la meilleure solution que j'ai pu trouver utilise le ping (je ne plaisante pas) pour obtenir l'effet souhaité. J'en ai trouvé une meilleure description ici , qui décrit un appelable "wait.bat", implémenté comme suit:
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul
Vous pouvez ensuite inclure les appels à wait.bat dans votre propre fichier de commandes, en passant le nombre de secondes pour dormir.
Apparemment, le Kit de ressources Windows 2003 fournit une commande de veille de type Unix (enfin!). En attendant, pour ceux d'entre nous qui utilisent encore Windows XP, Windows 2000 ou (malheureusement) Windows NT , y a-t-il un meilleur moyen?
J'ai modifié le sleep.py
script dans la réponse acceptée , afin qu'il prenne par défaut une seconde si aucun argument n'est passé sur la ligne de commande:
import time, sys
time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)
ping
commande ou télécharger le kit de ressources Windows qui comprend une sleep
commande. Plus de détails ici: Fichier batch SLEEP Command