sleep oder wait in Batch Dateien: pause cmd

 

Die Funktion wait oder sleep war in BATch Dateien standardmäßig nicht vorhanden.
Abhilfe schafft ein kleiner Umweg über den ping Command

sleep or wait mit ping  

Befehl:

@ping -n 10 localhost> nul

 wartet in etwa 10 Sekunden (-n 10) und führt die Batchdatei dann weiter aus.

sleep-Befehl nachrüsten

sleep.cmd in C:\Windows\System32

@echo off
@ping localhost -n 2 > NUL
@ping localhost -n %1 > NUL

Windows Vista/7/8/10/11

seit Windows Vista gibt es den Befehl "timeout":

timeout /T 10

wartet 10 Sekunden, die Wartezeit kann mit einer beliebigen Taste übersprungen werden, um dies zu verhindern, gibt es den Parameter: /nobreak

timeout /T 10 /nobreak

weiterführende Themen

  • Einführung, Grundlagen und erweitertes Wissen zu Windows Batch, siehe: Windows Batch
  • Der aktuelle Kommandozeileninterpreter, siehe: Windows PowerShell
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
02.08.2019 05:58
User: Julian  
Anmerkung zum Seiten-Layout. Ich würde die Daumen der Bewertungsfunktion vertauschen, da man zuerst die negativen Daumen sieht und denkt, dass es die positiven sind und sich wundert, warum der Artikel so schlecht bewertet ist.

Nur eine kleine psychologische Sache, aber ich kann mir vorstellen, dass es vielen Menschen so geht, 
✍Bernhard
gepostet am 18.06.2020 05:23
danke für den Tipp, habe ich inzwischen geändert

Beitrag erstellt von Bernhard

✍anonym
13.01.2016 09:55
User: Djimitrej 
"/t" kann man weglassen. "timeout 100" ist dasselbe wie "timeout /t 100". Getestet unter Windows 10 und Windows Server 2008.

✍anonym
05.10.2014 09:28
User:                 
wie kann man dafür sorgen das er nichts anzeigt bei timeout sozusagen unsichtbar zählt?
✍anonym
gepostet am 07.06.2022 13:05
timeout 2 > nul

Beitrag erstellt von anonym

✍anonym
15.07.2014 12:17
User: Didi 
Um nicht unabsichtlich eine eventuelle Malware namens "ping.js" (JavaScript) zu starten sollte der Windows-Befehl "ping" DIREKT aufgerufen werden via:
%windir%\system32\ping.exe

✍anonym
24.08.2015 14:01
User: Franzy 
@Marcolinchen

Du musst "timeout" vor dem "goto main" schreiben, da du sonst nur eine endlose Textschleife bekommst :)

(Mein erster post kam irgendwie nicht an, oder?)

✍anonym
19.08.2015 10:20
User: Marcolinchen9867 
Okay nur das klappt bei mir nicht richtig, ich schicke mal mein Programm rein:

 @echo off
title Tic Tac Toe - Tipps and Tricks
 color C3
 
: main

 echo 1. Wiederholte Nameneingabe
echo.
echo Sicher kennst du es, dass es soooooo nevig ust, bei jeder Runde den Namen erneut einzugeben.
echo Dagegen gibt es eine Lösung: Nach der ersten Runde wird der Name gespeichert. Das heisst, wenn du
echo bei der zweiten Runde angelangst, musst du nur noch auf Enter zu dücken, und schwupps, 
echo lädt das Spiel deinen Namen, ganz ohne dass du ihn eingeben musstest.
echo 
echo.
echo.

goto main

timeout /T 10 /nobreak


start Menu.exe

exit

✍anonym
24.07.2015 21:46
User: El Turco 
vielen Dank für die wertvolle Info. Hast mich vom Last gerettet. 

✍anonym
01.05.2015 10:43
User: GdL56 
So nun bleibt das Fenster offen mit Pause oder timeout, aber es wird mir in jeder Befehlszeile der Pfad des Verzeichnises in der Ausgabe angezeigt.Na mal sehen ob ich selbst drauf komme?!
✍anonym
gepostet am 01.11.2020 13:48
Du musst @echo off am anfang deines skriptes eingeben
das versteckt den pfad

Beitrag erstellt von anonym

✍anonym
23.04.2015 14:22
User: L 
Genau das hatte ich gesucht :-D

✍anonym
26.03.2015 19:21
User: Gabberpsycho 
timeout -1

Weiter mit Tastendruck ohne Zeitangabe

✍anonym
23.02.2015 16:38
User: noname12345 
Ja, mit >nul. So siehts dann aus: timeout /T 10 /nobreak >nul

✍anonym
27.09.2014 14:13
User: nerf 
ping -n 10 localhost macht sich 10 anpingen

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details