DOS Batch - DateTime - Format
Freitag 04 Juni 2010 at 6:11 pm.
Ich möchte einen Dateiname anpassen bzw. eine Datei anlegen die den TimeStamp enthält
per DOS Batch script.
Ich benutzte das DOS Batch arg selten und musste deshalb suchen.
Das Ziel Format ist: ddmmyyyy
Beim heutigen Datum z.B. 04062010
Diesen Text möchte ich dann in einem Dateinamen verwenden.
echo %DATE% liefert aber '04.06.2010'. Diesen Text möchte ich nicht in einem Dateinamen.
Allgemein Links zum Thema:
Batch-Programmierung (wikibooks.org)
- Ganz wichtig bei DOS Batch, beim Command SET darf vor und nach dem = kein Leerzeichen sein.
Das Command SET alleine eingegeben gibt die Liste der Umgebungsvariablen aus.
SET myDate=%DATE:~0,2%%DATE:~3,2%%DATE:~7,4%
- Die Variable z.B. myDate, wird in den Umgebungsvariablen gesetzt. Also da, wo %PATH% auch gesetzt ist. Somit vorsicht bei der Benennung der Variablen ;)
- Das System Datum ausgeben.
echo %DATE%
Auf meinem System habe ich die Ausgabe: 04.06.2010
- Die gewünschten Werte aus dem Datum extrahieren.
SET myDate=%DATE:~0,2%%DATE:~3,2%%DATE:~7,4%
echo %myDate%
Liefert: 0406010
Beschieben wird die Verwendung von ~ u.a. hier
Kurz gesagt, %DATE:7,4% extrahiert aus dem String den die Variable DATE liefert vom 7ten Zeichen an 4 Zeichen was dann das Jahr ergibt.
Da das Datumsformat von den System Einstellungen vorgegeben ist, heisst das natürlich, dass hier obacht zu geben ist. Also, nicht leichtfertig Änderungen am Windows System vornehmen ;)
Kein Kommentar