For- Schleife, Zeitausgabe in einem Intervall
Hallo zusammen,
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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 182917
Url: https://administrator.de/contentid/182917
Printed on: April 25, 2024 at 11:04 o'clock
3 Comments
Latest comment
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