Chris_als_Gast: [DOS] Warum ist die Variable leer?

Beitrag lesen

Hallo Forum,

back 2 the Roots :))

Fragt nicht, aber ich benötige tatsächlich eine DOSenanwendung unter Windows 7. :)

Ich habe Probleme mit der Erzeugung einer Variablen, die in einem normalen CMD-Fenster nacheinander eingeben das tut, was gefordert ist, aber in der Batch nicht. Vielleicht hat ja einer von Euch einen Tipp.

Anforderung:
Es gilt mit COPY eine Datei zu sichern. Dazu möchte ich die aktuelle Zeit und das aktuelle Datum an die Datei anhängen: Bsp.: Datei.csv > Datei_26092013_104500.csv

Umsetzung:
Ich habe eine Batch mit folgenden Befehlen, mit der ich die Aufgabe lösen möchte:

  
@ECHO OFF & SETLOCALE  
...  
SETLOCAL enabledelayedexpansion  
SET ARCHIV_DATUM=%date:~-10,2%%date:~-7,2%%date:~-4%_%time:~-11,2%%time:~-8,2%%time:~-5,2%  
SET DATUM=!ARCHIV_DATUM:^ =0!  
SETLOCAL disabledelayedexpansion  
echo Datei_%DATUM%.csv  
...  

Fehler:
Ausgabe von echo: "ECHO ist ausgeschaltet (OFF).", bedeutet ja: %DATUM% ist leer?!
Wenn ich aber die Befehle manuell einzeln nacheinander in ein CMD-Fenster kopiere und ausführe, erscheint bei "echo Datei_%DATUM%.csv" genau das geforderte, nämlich "Datei_26092013_104500.csv"

Frage:
Wieso?! :))

VG
Chris