Sleep in Batch-Dateien mit Boardmitteln

Manchmal ist es notwendig in Batch-Dateien auf irgendetwas zu warten, also die Abarbeitung der darauf folgenden Befehle zu verzögern. Bekannt dafür sind die Befehle „sleep“ oder „wait“, welche aber leider nicht bei (allen) Windows-Versionen mitgeliefert werden / wurden. In den Windows Resource Kits, welche kostenlos nachinstalliert werden können, sind diese aber enthalten.
Ich stelle hier Lösungen vor die ohne zusätzlich installierte Befehle oder Utilities funktionieren.

Alle Versionen
Der Befehl „ping“ existiert immer und mit dem Parameter „-n“ kann die Anzahl der Versuche gesteuert werden. Zwischen den Versuchen wird immer eine Sekunde gewartet. Also können wir die Batch eine bestimmte Anzahl von Sekunden, hier 10, mit etwas beschäftigen.

Das „> nul“ am Ende sorgt nur dafür, dass die Ping-Versuche nicht in der Konsole angezeigt werden.

Windows Vista / 7
Seit Vista gibt es den Befehl „timeout“ der mit dem Parameter „/t“ eine fixe Sekundenanzahl wartet, oder durch Tastendruck die Abarbeitung fortsetzt.

„Choice“ kann ebenso verwendet werden, siehe Beispiel unten.

Windows XP / 2003 Server
Hier kann nur der Ping-Befehl verwendet werden.

Windows 95 / 98 / ME / 2000
Hier kann auch der Ping-Befehl verwendet werden, oder „choice“.
Eigentlich wird choice verwendet um Benutzereingaben abzufragen, aber mit dessen Parameter „/t“ kann die maximale Wartezeit definiert werden, was wir wieder um zweckentfremden können.