Kommentare: sleep oder wait in Batch Dateien: pause cmd
Fragen / Kommentare zu sleep oder wait in Batch Dateien: pause cmd
(neueste zuerst)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.
User: Leli Kann man das auch irgendwie machen ohne das dass angezeigt wird?
>NUL lässt es unangezeigt
Beitrag erstellt von anonym
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,
danke für den Tipp, habe ich inzwischen geändert
Beitrag erstellt von Bernhard
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 :-)
User: M123 Wenn diese "Gewartet wird..." Nachricht nicht angezeigt werden soll, einfach ">NUL" dranhängen (strg+c funktioniert trotzdem noch)
User: Djimitrej "/t" kann man weglassen. "timeout 100" ist dasselbe wie "timeout /t 100". Getestet unter Windows 10 und Windows Server 2008.
User: Chris Timeout.exe gibt's nicht seit Windows 7 sondern seit Vista!
danke, hab ich angepasst
Beitrag erstellt von Bernhard
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?)
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
User: El Turco vielen Dank für die wertvolle Info. Hast mich vom Last gerettet.