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.

So geht's:

Erläuterung

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

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

Achtung:

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=/.

Lange Dateinamen mit Leerzeichen müssen in Anführungsstriche gesetzt werden.

copy "C:\Beispiel\Original Datei.txt" "C:\Beispiel\%cdate%-Ziel Datei.txt"