Wenn ich eine Batch-Datei schreibe, um etwas auf einer Windows-Box zu automatisieren, musste ich die Ausführung einige Sekunden lang anhalten (normalerweise in einer Test- / Warteschleife, um auf den Start eines Prozesses zu warten). Zu der Zeit verwendet die beste Lösung, die ich finden konnte, Ping (ich mache dir nichts vor), um den gewünschten Effekt zu erzielen. Ich habe hier eine bessere Beschreibung gefunden , die eine aufrufbare "wait.bat" beschreibt, die wie folgt implementiert ist:
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul
Sie können dann Aufrufe von wait.bat in Ihre eigene Batch-Datei aufnehmen und dabei die Anzahl der Sekunden für den Ruhezustand angeben.
Anscheinend bietet das Windows 2003 Resource Kit (endlich!) Einen Unix-ähnlichen Schlafbefehl . Gibt es in der Zwischenzeit für diejenigen von uns, die noch Windows XP, Windows 2000 oder (leider) Windows NT verwenden , einen besseren Weg?
Ich habe das sleep.py
Skript in der akzeptierten Antwort so geändert , dass es standardmäßig eine Sekunde beträgt, wenn in der Befehlszeile keine Argumente übergeben werden:
import time, sys
time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)
ping
Befehl oder laden Sie das Windows Resource Kit herunter, das einen sleep
Befehl enthält. Weitere Details hier: Batch-Datei SLEEP Command