For- Schleife, Zeitausgabe in einem Intervall
Hallo zusammen,
Ich möchte mit der Hilfe der folgenden Zeilen die aktuelle Zeit ausgeben lassen.
Vom Prinzip her funktioniert es auch, jedoch wird die Zeit nicht aktualisiert.
Was heißt, das von 1 bis 10 immer die gleiche Zeit ausgeben wird.
Frage: Woran liegt das genau und wie müsste es richtig aussehen?
Vielen Dank für eure Hilfe und eure Zeit.
Ich möchte mit der Hilfe der folgenden Zeilen die aktuelle Zeit ausgeben lassen.
@echo off
for /l %%a in (1, 1, 10) do echo %time% && timeout /t 1 > nul
pause
exit
Vom Prinzip her funktioniert es auch, jedoch wird die Zeit nicht aktualisiert.
Was heißt, das von 1 bis 10 immer die gleiche Zeit ausgeben wird.
Frage: Woran liegt das genau und wie müsste es richtig aussehen?
Vielen Dank für eure Hilfe und eure Zeit.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 182917
Url: https://administrator.de/contentid/182917
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar
Moin tobiasente,
lösen kann man das so:
Es liegt an der Variable %time% - die wird in der Schleife nicht aktualisiert - mit den zusätzlichen Angaben und der Schreibweise '!time!' geht das.
ABER:
Die Schleife mit 10 Durchläufen ist so schnell abgearbeitet, das kaum Zeit vergeht - probier es mit 100 Durchläufen, dann wird das Ergebnis sichtbar.
UND:
Was immer es bewirken soll ...
Freundliche Grüße von der Insel - Mario
lösen kann man das so:
@echo off & setlocal enabledelayedexpansion
for /l %%a in (1, 1, 10) do echo !time! && timeout /t 1 > nul
pause
exit
Es liegt an der Variable %time% - die wird in der Schleife nicht aktualisiert - mit den zusätzlichen Angaben und der Schreibweise '!time!' geht das.
ABER:
Die Schleife mit 10 Durchläufen ist so schnell abgearbeitet, das kaum Zeit vergeht - probier es mit 100 Durchläufen, dann wird das Ergebnis sichtbar.
UND:
Was immer es bewirken soll ...
Freundliche Grüße von der Insel - Mario