Kommentare: sleep oder wait in Batch Dateien: pause cmd

 

Fragen / Kommentare zu sleep oder wait in Batch Dateien: pause cmd

(neueste zuerst)


✍DaBernsee
02.06.2021 17:11
Hallo zusammen,

aufgrund von Langeweile habe ich eine kleine Batch geschrieben...ich nenne Sie sleep.cmd und lege Sie im System32 ab. (Darauf achten das Sie im ANSI Format abgespeichert wird. Ansonsten sehen die Umlaute ziemlich hässlich aus!)
Die Batch ersetzt 1:1 alle Funktionen vom timeout Befehl.

Viel Spass damit!

Gruß
Dirk

--------------------------------

@echo off
chcp 1252>nul

if "%1"=="-1" pause>nul && goto END
if "%1"=="" goto SYNTAX
if "%1"=="/?" goto HELP
if /i "%1"=="/s" echo Der [Silent Mode] ist an dieser Position nicht anwendbar. Bitte zuerst ein Zeitlimit angeben!&&echo.&&goto SYNTAX
set "var="&for /f "delims=0123456789" %%i in ("%1") do set var=%%i
if defined var (echo "%1" ist nicht numerisch oder keine mögliche Option!&&echo.&&goto SYNTAX) else (set /a var="%1")
if /i "%2"=="/s" (goto SLEEP) else (goto COUNT)

:SYNTAX
echo FEHLER: Ungültige Syntax.
echo Geben Sie "SLEEP /?" ein, um die Syntax anzuzeigen.
goto END

:HELP
echo SLEEP Zeitlimit [/S]
echo.
echo. Beschreibung:
echo.    Dieses Hilfsprogramm verwendet einen Zeitlimitparameter, so dass
echo.    der angegebene Zeitraum (in Sekunden) verstreicht.
echo.
echo. Parameterliste:
echo.     Zeitlimit (Sekunden)    Bestimmt die Wartezeit in Sekunden.
echo.
echo.     /S                      [Silent Mode]: SLEEP ohne Output
echo.
echo.     /?                      Zeigt diese Hilfe an.
echo.
echo. HINWEIS: Ein Zeitlimit von -1 bedeutet, dass unendlich lang auf einen
echo.          Hauptprozess gewartet wird. Abbruch mit beliebiger Taste!   
echo.
echo. Beispiele:
echo.     SLEEP /?
echo.     SLEEP 10
echo.     SLEEP 10 /S
echo.     SLEEP -1
goto END

:COUNT
  rem Erzeuge Zeile aus backspace Characters... %BS% ist ein Rückschritt
for /f "delims=;" %%a in ('"prompt $H; & for %%. in (nul) do call "') do (set "BS=%%a")
  rem das ganze 80mal (die Länge spielt keine rolle, es geht nie weiter zurück als der Zeilenanfang)
for /l %%n in (1,1,80) do (call set "bk_ln=%%bk_ln%%%BS%")

for /l %%a in (%var%,-1,0) do (
  rem schreibe 80 Backspaces (%bk_ln%) und anschließend den gewünschten String
  <nul set /p "=%bk_ln%Sleep Timer endet in %%a Sekunden..."||ver>nul
  ping localhost -n 2 >nul
  if "%%a"=="0" goto END
)

:SLEEP
  rem set /a var=%var%+1 (bei Bedarf Zeitkorrektur +1 Sekunde)
ping localhost -n %var% >nul

:END
echo.

✍anonym
27.02.2020 09:56
User: Leli 
Kann man das auch irgendwie machen ohne das dass angezeigt wird?
✍anonym
gepostet am 01.04.2020 09:17
>NUL lässt es unangezeigt

Beitrag erstellt von anonym

✍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
01.08.2019 08:06
User: Lollypop 
Ich habe eine Frage:
Ich möchte einfach nur cmd bei timeout und während des laufens einer batchdatei verstecken. (Bitte nicht fragen warum ich das nicht direkt über cmd mache (hat seine gründe). ich brauche nur einen Befehl. Die obigen Befehle funktionieren bei mir nicht ( Windows 10 32bit). 
:/
Danke jetzt schon mal für Eure Hilfe :-)

✍anonym
30.06.2017 16:17
User: M123 
Wenn diese "Gewartet wird..." Nachricht nicht angezeigt werden soll, einfach ">NUL" dranhängen (strg+c funktioniert trotzdem noch)

✍anonym
03.12.2016 15:24
User: Funnygecko 
Danke man! Hat mir geholfen

✍anonym
10.07.2016 19:07
User: wait 
cmd prompt/?

Mist, worauf wartet der hier noch?

Goto 10
????

✍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
13.09.2015 20:40
User: Chris 
Timeout.exe gibt's nicht seit Windows 7 sondern seit Vista!
✍Bernhard
gepostet am 13.09.2015 20:40
danke, hab ich angepasst

Beitrag erstellt von Bernhard

✍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.