Datum und Zeit in Batchdatei formatieren

Letzte Aktualisierung am 15.12.2023, 16:12:21 Uhr

Gibt man standardmäßig die Befehle date /T und time /T in eine Eingabeaufforderung ein, werden Datum und Uhrzeit im deutsche Format ausgegeben.

Gerade bei Protokolldateien oder Exports verwendet man typischerweise Jahr-Monat-Tag_Stunde-Minute-Sekunde. Somit lässt sich mit Hilfe des Dateinamens einfach von Neu nach Alt sortieren. Durch die Migration von Batch zu PowerShell in den letzten Monaten und Jahren konnte ich mich nicht mehr an das Konstrukt (eine Zeile) erinnern.

Nach langem Probieren und Lesen der Hilfe kam es mir nach und nach wieder in den Kopf. Um in Zukunft Zeit zu sparen schreibe ich diesen Beitrag. 😉

set datetime=%date:~-4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%

echo %datetime%
2023-12-15_16-41-35

Natürlich kann man Datum und Uhrzeit in zwei verschiedene Variablen schreiben lassen. Was zu einer höheren Flexibilität führt. Bei großen Skripten mache ich das sehr gerne.

set datum=%date:~-4%-%date:~3,2%-%date:~0,2%
set zeit=%time:~0,2%-%time:~3,2%-%time:~6,2%

echo %datum%
2023-12-15

echo %zeit%
16-42-29

Viel Spaß beim Ausprobieren. 🙂

Abonnieren
Benachrichtige mich bei
1 Kommentar
neueste
älteste
Inline Feedbacks
View all comments
Olaf
10.08.2021 16:23

Danken für die Beschreibung! Das Extrahieren von Teilstrings in Bat-Dateien suche ich schon lange. Es ist aber nirgends beschrieben.