Datum und Uhrzeit in Batch als Variable setzten und während der Ausführung immer aktualisieren
Hallo,
ich bastel gerade an einer Batch-Datei die mehrere Scripte ausführen soll, die unterschiedlich lange dauern. ich möchte gern den Start und das ende des jeweiligen Scripts dokumentiert haben. Dazu hab ich mir einen Datum/Uhrzeit Block gebastelt, der angezeigt werden soll und als Variable definiert:
Wenn ich jetzt vor dem befehl zum Starten des jeweiligen Scripts
Bekomme ich als Ausgabe : Start Script xyz 16.10.2018 09:39:25 Uhr
Nun wird der Wert für datetime ja am Beginn der Batch-Datei definiert und ändert sich dadurch nicht mit der aktuellen Uhrzeit, wenn z.B. ein Script durch ist und ich die Ausgabe
Dann steht dort weiterhin Ende Script xyz 16.10.2018 09:39:25 Uhr
Also dieselbe Uhrzeit, wie zu Beginn.
Wie bekomme ich es hin, dass sich die Uhrzeit und das Datum (falls der Job über Mitternacht läuft) zu aktualisieren, sodass sie in diesem Format ausgegeben werden?
ich bastel gerade an einer Batch-Datei die mehrere Scripte ausführen soll, die unterschiedlich lange dauern. ich möchte gern den Start und das ende des jeweiligen Scripts dokumentiert haben. Dazu hab ich mir einen Datum/Uhrzeit Block gebastelt, der angezeigt werden soll und als Variable definiert:
::Systemunabhängiges Datum erzeugen
::-----------------------------------------------------
for /f %%g in ('wmic os get localdatetime ^| find "."') do set _DTS=%%g
set _day=%_DTS:~6,2%
set _month=%_DTS:~4,2%
set _year=%_DTS:~0,4%
set _hour=%_DTS:~8,2%
set _minute=%_DTS:~10,2%
set _seconds=%_DTS:~12,2%
set _datestamp=%_DTS:~0,8%
set _datetime=%_day%.%_month%.%_year% %_hour%:%_minute%:%_seconds% Uhr
Wenn ich jetzt vor dem befehl zum Starten des jeweiligen Scripts
echo Start Script xyz %_datetime%
Bekomme ich als Ausgabe : Start Script xyz 16.10.2018 09:39:25 Uhr
Nun wird der Wert für datetime ja am Beginn der Batch-Datei definiert und ändert sich dadurch nicht mit der aktuellen Uhrzeit, wenn z.B. ein Script durch ist und ich die Ausgabe
echo Ende Script xyz %_datetime%
Dann steht dort weiterhin Ende Script xyz 16.10.2018 09:39:25 Uhr
Also dieselbe Uhrzeit, wie zu Beginn.
Wie bekomme ich es hin, dass sich die Uhrzeit und das Datum (falls der Job über Mitternacht läuft) zu aktualisieren, sodass sie in diesem Format ausgegeben werden?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 389573
Url: https://administrator.de/forum/datum-und-uhrzeit-in-batch-als-variable-setzten-und-waehrend-der-ausfuehrung-immer-aktualisieren-389573.html
Ausgedruckt am: 06.04.2025 um 05:04 Uhr
4 Kommentare
Neuester Kommentar
Moin,
in dem du das Logging in einen Prozedur-Aufruf umwandelst:
Siehe https://ss64.com/nt/call.html
lg,
Slainte
in dem du das Logging in einen Prozedur-Aufruf umwandelst:
Call :Log Start
...
Call :Log Ende
:Log
::Systemunabhängiges Datum erzeugen
(hier deine Zeilen 3 bis 14)
Echo %1 %_datetime%
goto :EOF
Siehe https://ss64.com/nt/call.html
lg,
Slainte
Hallo,
Wie dir geschrieben wurde füge deine Zeilen 3-14 (einschließlich) in dein Script ein. Und passe deine Logausgabe entsprechend an.
Aber vielleicht hat dich hier keiner Verstanden was du willst...
Gruß,
Peter
Wie dir geschrieben wurde füge deine Zeilen 3-14 (einschließlich) in dein Script ein. Und passe deine Logausgabe entsprechend an.
Aber vielleicht hat dich hier keiner Verstanden was du willst...
Gruß,
Peter