J'essaie d'écrire un script batch et d'attendre 10 secondes entre 2 appels de fonction. La commande:
sleep 10
Ne fait pas attendre 10 secondes le fichier batch.
J'utilise Windows XP.
Remarque: Ceci n'est pas une copie complète de Dormir dans un fichier de traitement par lots car l'autre question concerne également python, alors que il s’agit des fichiers de commandes Windows.
Vous pouvez cingler une adresse qui n'existe sûrement pas et spécifier le délai d'expiration souhaité:
ping 192.0.2.2 -n 1 -w 10000 > nul
Et comme l’adresse n’existe pas, il faudra attendre 10 000 ms (10 secondes) pour revenir.
-w 10000
spécifie le délai d'expiration souhaité en millisecondes.-n 1
indique à ping qu'il ne doit essayer qu'une seule fois (normalement 4 tentatives).> nul
est ajoutée afin que la commande ping ne renvoie rien à screen.Vous pouvez facilement créer une commande de sommeil vous-même en créant un fichier sleep.bat quelque part dans votre PATH et en utilisant la technique ci-dessus:
rem SLEEP.BAT - sleeps by the supplied number of seconds
@ping 192.0.2.2 -n 1 -w %1000 > nul
NOTE: L'adresse 192.0.2.x est réservée conformément à RFC 33 elle n'existera donc certainement pas dans le monde réel. . Citant de la spécification:
192.0.2.0/24 - Ce bloc est affecté à "TEST-NET" pour être utilisé dans la documentation et des exemples de code. Il est souvent utilisé avec les noms de domaine example.com ou example.net dans la documentation du fournisseur et du protocole. Les adresses de ce bloc ne doivent pas apparaître sur l'Internet public.
Vous feriez mieux de faire un ping 127.0.0.1. Le ping Windows s'interrompt une seconde et vous permet de dormir pendant 10 secondes, utilisez
ping -n 11 127.0.0.1 > nul
De cette façon, vous n'avez pas à vous soucier des retours anticipés inattendus (par exemple, il n'y a pas d'itinéraire par défaut et le 123.45.67.89 est immédiatement reconnu comme inaccessible.)
J'ai en fait trouvé la bonne commande à utiliser .. son délai d'attente appelé: http://www.ss64.com/nt/timeout.html
J'ai utilisé ceci
:top
cls
type G:\empty.txt
type I:\empty.txt
timeout /T 500
goto top
Qu'en est-il de:
@echo off
set wait=%1
echo waiting %wait% s
echo wscript.sleep %wait%000 > wait.vbs
wscript.exe wait.vbs
del wait.vbs
Bien, sleep
existe-t-il même sur votre boîte de dialogue Windows XP? Selon ce post: http://malektips.com/xp_dos_0002.htmlsleep
n'est pas disponible sous Windows XP et vous devez télécharger le Kit de ressources Windows 200 pour l'obtenir.
La réponse de Chakrit vous donne également un autre moyen de faire une pause.
Essayez d'exécuter sleep 10
à partir d'une invite de commande.