ISO-Datum in Windows Batch-Files
Juni 3rd, 2010 | Posted by in IT
Wer unter Windows mit Batch-Files Scriptet, dürfte die Variablen %time% und %DATE% kennen, die die Uhrzeit sowie das aktuelle Datum im lokalen Format “dd.mm.yyyy” zurückgeben.
Manchmal möchte man Dateien oder Verzeichnisse nach dem aktuellen Datum benennen, z.B. Logfiles, Zip-Dateien oder ein Backup-Verzeichnis für das tägliche Backup.
set dirname="C:Backup-%DATE%" mkdir %dirname%
Einen großen Nachteil hat dieser Weg: Beim alphabetischen Anordnen im Windows-Explorer ist der 20. Mai vor dem 31. Januar. Der einfachte Weg ist die Verwendung des ISO-Formats JJJJ-MM-TT, also zuerst Jahr, dann Monat, dann Tag. So wird immer erst nach dem Größten (Jahr), zum Ende nach dem Kleinsten (Tag) sortiert.
Leider bietet die Windows Commandline ein solches Format nicht an, das läßt sich aber leicht korrigieren: Wir nehmen einfach aus %DATE% die nötigen Stellen heraus und basteln ein eigenes Format:
set TAG=%date:~-10,2% set MONAT=%date:~-7,2% set JAHR=%date:~-4% set ISODATE=%JAHR%-%MONAT%-%TAG%
Fertig ist unser neues Datum %ISODATE%, das wir nun statt %DATE% verwenden:
set dirname="C:Backup-%ISODATE%" mkdir %dirname%
You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Gute Sache!
Ich finde man müßte das noch aufdrehen..
Thu Oct 13 11:12:20 CEST 2011
Was bzw. wie aufdrehen?