870 Stimmen

Wie man in einer Batch-Datei/cmd fünf Sekunden lang schlafen kann

Das Snipping-Tool von Windows kann den Bildschirm erfassen, aber manchmal möchte ich den Bildschirm nach fünf Sekunden erfassen, z. B. um ein Bild aufzunehmen, das von der Webcam angezeigt wird (führen Sie das Skript aus und lächeln Sie in die Kamera, zum Beispiel).

Wie kann ich in einer Batch-Datei 5 Sekunden lang schlafen?

27 Stimmen

Kurze Antwort für alle, die hier landen: Seit Windows Vista gibt es eine native Lösung: TIMEOUT . Verweise: SS64 , Rob van der Woude .

3 Stimmen

Es gibt Timeout Befehl, der sekundenlang wartet. Falls ein Millisekunden-Schlaf benötigt wird, kann der Powershell-Befehl Start-Schlaf verwendet werden können. Um 50ms in cmd zu schlafen: powershell Start-Sleep -m 50

0 Stimmen

@Pavel: Man kann auch einen Ping an einen nicht existierenden Host missbrauchen, um für Millisekunden zu schlafen.

0voto

LionelGoulet Punkte 517

Ping wartet auf etwa 5 Sekunden vor der Zeitüberschreitung, nicht 1 Sekunde wie oben angegeben. Das heißt, es sei denn, Sie sagen dass er nur 1 Sekunde wartet, bevor er abbricht.

ping 1.0.0.1 -n 1 -w 1000

pingt einmal an, wartet nur 1 Sekunde (1000 ms) auf eine Antwort und beendet dann den Vorgang.

Also ein etwa 20 Sekunden Verzögerung wäre:

ping 1.0.0.1 -n 20 -w 1000

0voto

Shawn Punkte 2794

Ich habe ein Powerbasic-Programm geschrieben warten.exe , dem Sie in Ihrer Batch-Datei einen Millisekunden-Parameter übergeben

wait 3000
system('c:/windows/system32/SnippingTool.exe')

den Code für die EXE:

FUNCTION PBMAIN()
  c$ = Command$
  s! = Val(c$)*1000
  Sleep s!         
END FUNCTION

-1voto

Smits Punkte 37

Damit sollte es klappen: Wahl /T 5 /N /D Y

Ersetzen Sie die 5 durch die Zeit in Sekunden, die Sie warten möchten...

-2voto

jon Punkte 13

Unter neueren Windows-Versionen können Sie den Befehl

sleep /w2000

in einem DOS-Skript ( .cmd o .bat ), um 2s zu warten (2000 ms - ersetzen Sie die Zeit in ms, die Sie benötigen). Achten Sie darauf, die /w Argument - ohne es wird der ganze Computer in den Schlaf versetzt! Sie können verwenden -m anstelle von /m wenn Sie es wünschen und optional einen Doppelpunkt (:) zwischen dem w und der Zahl.

-4voto

Srijan Acharya Punkte 9

Ich denke, der folgende Befehl kann helfen:

pause 5

Die Syntax des Pausenbefehls lautet: pause d \\where d steht für die Dauer in Sekunden

Ich verwende Windows 7 (32 Bit), aber ich weiß nicht, wie es bei den anderen ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X