Wie verwende ich Variablen für den Copy-Befehl in der Batch-Datei?
Ich versuche gerade in einer Batch-Datei eine Datei in ein anderes Verzeichnis zu kopieren. Klappt toll, solang ich die Dateipfade direkt im Command verwende, also so:
copy c:\file1.txt c:\folder
Wenn ich den Ordner durch eine Variable ersetze klappt das auch, also
set folder = c:\folder
copy c:\file.txt %folder%
Möchte ich aber auch die Datei durch eine Variable ersetzen klappt das nicht, warum?
set folder = c:\folder
set file = c:\file.txt
copy %file% %folder%
Außerdem frage ich mich, ob beim set-Befehl keine Leerzeichen vor und nach dem = stehen dürfen. Kann mir hier jemand aushelfen - ewige Recherche haben nicht recht genutzt...
1 Antwort
Eigentlich sollen keine Leerzeichen nach dem Gleichzeichen kommen. Das gibt nur Verwirrung. Mir ist nicht ganz klar, was das Batchding denn machen soll.
set folder=c:\folder
set file=c:\file.txt
copy %file% %folder%
Das Ding würde c:\file.txt nach c:\folder\ kopieren. Und das geht auch.
Wenn du dir nicht sicher bist, kannst du vor den eigentlich Befehl ein "echo" schreiben und dir ausgeben lassen, was das cmd denn gedenkt zu machen:
echo copy %file% %folder%