Frage von Razen, 28

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

Antwort
von DrErika, 11

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%

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten