Datum in DOS Batch Dateien
(Beispiel für Fortgeschrittene)
für die verschiedensten Zwecke ist es hilfreich, ein Datum in Batch (*.bat oder *.cmd) Dateien verwenden zu können.
Zip Datei so entpacken, dass beide Beispiel-Dateien in C:\Beispiel liegen
sample.cmd doppelklicken.
Wir füllen die Variable CDATE (Kann aber auch beliebig anders heißen) mit den Daten vom aktuellen Datum
Diese Daten erhalten wir von den Variablen
%%a
%%b
%%c
%%d
Mir ist aufgefallen, dass diese Variablen unter WindowsNT und WindowsXP unterschiedliche Bedeutung haben. Kann aber auch an deutschem und englischem Windows liegen.
WinNT: a = day of week, b = month, c =
date, d = year
WinXP: a = date, b = month, c= year, d= Don't know
Der eigentliche Befehl zum Füllen der Variablen a-d lautet:
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%a
Für den 31. Dezember 2002 ergibt das dann für CDATE in diesem Beispiel : 2002-12-31
Wir verwenden in der Batch Datei dann die Variable %CDATE%
copy C:\Beipiel\Beispiel.txt C:\Beipiel\%CDATE%-Kopiert.txt
Der Wert von delims=/ hängt vom kurzen Systemdatum (31.12.2002) ab.
Im o.a. Beispiel ist das Trennzeichen (Delimiter= delims) der Punkt. Daher delims=/.
für 31-12-2002 -> delims=/-
für 31/12/2002 -> delims=//
usw.
Lange Dateinamen mit Leerzeichen müssen in Anführungsstriche gesetzt werden.
copy "C:\Beispiel\Original Datei.txt" "C:\Beispiel\%cdate%-Ziel Datei.txt"