Namensänderung beim kopieren (xcopy)
Hallo zusammen,
ich hatte bereits einen Beitrag geschrieben (Datei in Unterordnern ersetzen.) wie ich eine Datei ersetzen kann.
Bin dann abschließed dazu gekommen, dass ich "for /F "delims=;" %%f in ('dir /S /B *test.xls') do copy "C:\datei\test2.xls" "%%f" /Y" nutzen kann. Jedoch bleibt der Name test.xls vorhanden. Wie kann ich den Namen gleichzeitig auch in test2.xls umbenennen?
Gruß,
Groja2
ich hatte bereits einen Beitrag geschrieben (Datei in Unterordnern ersetzen.) wie ich eine Datei ersetzen kann.
Bin dann abschließed dazu gekommen, dass ich "for /F "delims=;" %%f in ('dir /S /B *test.xls') do copy "C:\datei\test2.xls" "%%f" /Y" nutzen kann. Jedoch bleibt der Name test.xls vorhanden. Wie kann ich den Namen gleichzeitig auch in test2.xls umbenennen?
Gruß,
Groja2
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 243950
Url: https://administrator.de/forum/namensaenderung-beim-kopieren-xcopy-243950.html
Ausgedruckt am: 22.04.2025 um 03:04 Uhr
12 Kommentare
Neuester Kommentar
Hallo,
Indem du den Copy Befehl sagst das der Zielname ein anderer ist.
Gruß,
Peter
Indem du den Copy Befehl sagst das der Zielname ein anderer ist.
for /F "delims=;" %%f in ('dir /S /B *test.xls') do copy "C:\datei\test2.xls" "Test2.xls" /Y
Gruß,
Peter
Zitat von @Groja2:
@colinardo: aber beides zusammen (kopieren und umbenennen) geht nicht? Naja dann hab ich halt zwei for-Schleifen. Das geht
natürlich auch ;)
klar geht das aber wir verstehen dein Vorhaben leider nicht ...@colinardo: aber beides zusammen (kopieren und umbenennen) geht nicht? Naja dann hab ich halt zwei for-Schleifen. Das geht
natürlich auch ;)
Hallo,
Gruß,
Peter
Zitat von @Groja2:
@Pjordorf: Dann wird aber test2.xls nicht mehr in den Ordner kopiert wo die test.xls liegt, sondern in den Ordner wo die .bat liegt...
Danach hast du auch nicht gefragt. Ein For /? sollte dir weiterhelfen. Aber falls es nur mit abschreiben geht: @Pjordorf: Dann wird aber test2.xls nicht mehr in den Ordner kopiert wo die test.xls liegt, sondern in den Ordner wo die .bat liegt...
for /F "delims=;" %%f in ('dir /S /B *test.xls') do copy "C:\datei\test2.xls" %%~pfTest2.xls /Y
Gruß,
Peter
den Inhalt der gesamten Zeile in eine einzige Laufvariable (%%f) stecken
Folgendes habe ich jetzt dazu gelernt:
- Mehrere Befehle einer Schleife werden in "@()" geschrieben
nein, das @ verhindet nur das ausgeben der Befehle auf der Kommandozeile / wie bei @echo off- Mehrere Befehle einer Schleife werden in "@()" geschrieben
- %%~dpf und %%~pf gibt den pfad der Datei wieder
geb mal for /? auf der Kommandozeile ein, ganz unten findest du die verfügbaren Variablenerweiterungen.