Countdown in Batch-Datei
Hallo Forum,
ich möchte gern eine Wartezeit von 180 Sekunden in einer Batch-Datei anzeigen.
Jetzt habe ich das so gelöst:
set /a i=0
:start
if /I %i% GEQ 180 goto :next
C:\wait.exe 1
set /a i=%i%+1
echo %i%
goto :start
Im cmd sieht das dann so aus:
1
2
3
4
5
6
7
...
180
Ich möchte aber das nur die aktuelle Zahl zu sehen ist und nicht diese Liste von 1 - 180.
Kann mir einer sagen wie ich das hinbekomme.
Vielen Dank schon mal für Eure Hilfe.
MfG
J. Schulz
ich möchte gern eine Wartezeit von 180 Sekunden in einer Batch-Datei anzeigen.
Jetzt habe ich das so gelöst:
set /a i=0
:start
if /I %i% GEQ 180 goto :next
C:\wait.exe 1
set /a i=%i%+1
echo %i%
goto :start
Im cmd sieht das dann so aus:
1
2
3
4
5
6
7
...
180
Ich möchte aber das nur die aktuelle Zahl zu sehen ist und nicht diese Liste von 1 - 180.
Kann mir einer sagen wie ich das hinbekomme.
Vielen Dank schon mal für Eure Hilfe.
MfG
J. Schulz
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 108793
Url: https://administrator.de/contentid/108793
Ausgedruckt am: 12.11.2024 um 19:11 Uhr
12 Kommentare
Neuester Kommentar
Hallo Schully!
Etwa so:
Grüße
bastla
P.S.: Bitte verwende zum Posten von Batch-Code eine ...
Etwa so:
@echo off & setlocal
set Kopf=%temp%\Kopf.txt
>%Kopf% echo ---------------------
>>%Kopf% echo - Power off Script -
>>%Kopf% echo ---------------------
>>%Kopf% echo\
set /a i=0
:start
if %i% GEQ 180 goto :next
cls
type %Kopf%
echo %i%
C:\wait.exe 1000
set /a i+=1
goto :start
:next
pause
bastla
P.S.: Bitte verwende zum Posten von Batch-Code eine ...
Hallo Schully!
oder eine Zählschleife:
Grüße
bastla
Diese ganzen Meldungen gehen mir jetzt verloren oder kann ich diese alle mit
>>%Kopf% echo eine Meldung
in die Textdatei schreiben?
Kannst Du machen ...>>%Kopf% echo eine Meldung
in die Textdatei schreiben?
Und dann wäre noch die Zählreienfolge von 180 nach 0. Das bekomme ich auch nicht hin.
Entweder das Gegenstück zu Deiner bisherigen Vorgangsweise, also:set /a i=180
:start
if %i% LEQ 0 goto :next
cls
type %Kopf%
echo %i%
C:\wait.exe 1000
set /a i-=1
goto :start
:next
pause
for /L %%z in (180,-1,0) do (
cls
type %Kopf%
echo %%z
C:\wait.exe 1000
)
pause
bastla
So richtig leider eben nicht. Drauf gekommen bin ich im Zusammenhang mit drei Dingen:
1., Man kann den Prompt auch ändern. Ein $H macht bei dem ein Backspace. Ich nutze das ab und zu, um mir im Prompt die Zeit anzeigen zu lassen, wobei mich die Hundertstel nicht wirklich interessieren. Zum Beispiel um bei Tests die Laufzeit zu protokollieren.
mal so einen Prompt als Beispiel:
2. Die Ausgabe von Sonderzeichen funktioniert auch mit mind. einem Steuerzeichen (Beep - 0x07)
3. ein ECHO ohne Zeilenvorschub gibt es z.B. hier: Echo ohne Zeilenumbruch und ähnliche Spielereien
Naja, das alles zusammen weckte da eben Hoffnungen
beste Grüße
Jan
1., Man kann den Prompt auch ändern. Ein $H macht bei dem ein Backspace. Ich nutze das ab und zu, um mir im Prompt die Zeit anzeigen zu lassen, wobei mich die Hundertstel nicht wirklich interessieren. Zum Beispiel um bei Tests die Laufzeit zu protokollieren.
mal so einen Prompt als Beispiel:
prompt $c$d$s$t$h$h$h$f$_$p$g
2. Die Ausgabe von Sonderzeichen funktioniert auch mit mind. einem Steuerzeichen (Beep - 0x07)
copy con beep.bat [Enter]
@echo [Ctrl+G] [Enter]
[Ctrl+Z] [Enter]
for /F %i in ('beep.bat') do set beep=%i
echo %beep%
3. ein ECHO ohne Zeilenvorschub gibt es z.B. hier: Echo ohne Zeilenumbruch und ähnliche Spielereien
Naja, das alles zusammen weckte da eben Hoffnungen
beste Grüße
Jan