groja2
Goto Top

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

Content-Key: 243950

Url: https://administrator.de/contentid/243950

Printed on: April 19, 2024 at 16:04 o'clock

Member: colinardo
colinardo Jul 17, 2014 updated at 11:06:31 (UTC)
Goto Top
anstatt dem Copy einfach rename benutzen:
ren "%%f" test2.xls
Grüße Uwe
Member: Pjordorf
Pjordorf Jul 17, 2014 at 11:07:22 (UTC)
Goto Top
Hallo,

Zitat von @Groja2:
Wie kann ich den Namen gleichzeitig auch in test2.xls umbenennen?
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
Member: Groja2
Groja2 Jul 17, 2014 updated at 11:18:00 (UTC)
Goto Top
@colinardo: Nur wie baue ich das in die for-schleife ein? Sry habe leider wenig Ahnung davon...
@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...
Member: colinardo
colinardo Jul 17, 2014 at 11:17:35 (UTC)
Goto Top
Kopf einschalten ...
for /f "delims=;" %%f in ('dir /S /B *test.xls') do ren "%%f" test2.xls
Member: Groja2
Groja2 Jul 17, 2014 updated at 11:20:23 (UTC)
Goto Top
@colinardo: aber beides zusammen (kopieren und umbenennen) geht nicht? Naja dann hab ich halt zwei for-Schleifen. Das geht natürlich auch ;)
Member: colinardo
colinardo Jul 17, 2014 updated at 11:28:33 (UTC)
Goto Top
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 ...
Member: Groja2
Groja2 Jul 17, 2014 at 11:31:55 (UTC)
Goto Top
Ich muss eine Datei (Bericht.xls) in unterschiedlichen Unterordnern ersetzen durch eine andere Datei (Bericht.xlsm). Dazu würde ich gerne die Bericht.xls suchen und in diesen Ordner die Bericht.xlsm einfügen. Idealerweise würde die Bericht.xls noch gelöscht oder noch besser als Sicherung (habe aber schon eine gezogen) in eine anderen Ordner verschoben.
Nunja und da mein programmierkenntnisse nicht so gut sind dachte ich ich frage mal hier nach face-smile
Member: Pjordorf
Pjordorf Jul 17, 2014 at 11:40:47 (UTC)
Goto Top
Hallo,

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:
for /F "delims=;" %%f in ('dir /S /B *test.xls') do copy "C:\datei\test2.xls" %%~pfTest2.xls /Y  

Gruß,
Peter
Member: colinardo
Solution colinardo Jul 17, 2014 updated at 12:10:18 (UTC)
Goto Top
for /f "tokens=* delims=" %%f in ('dir /S /B /A-D Bericht.xls') do @(  
  del /q "%%f"  
  copy "C:\Ordner\Bericht.xlsm" "%%~dpf"  
)

CHECKED-OUT
Viel Erfolg ...
Member: Groja2
Groja2 Jul 17, 2014 at 11:55:37 (UTC)
Goto Top
Ja genau das wollte ich face-smile
Vielen herzlichen Dank!

Noch offene Fragen:
- Was macht "tokens=*"?

Folgendes habe ich jetzt dazu gelernt:
- Mehrere Befehle einer Schleife werden in "@()" geschrieben
- %%~dpf und %%~pf gibt den pfad der Datei wieder
Member: colinardo
colinardo Jul 17, 2014 updated at 12:01:25 (UTC)
Goto Top
Zitat von @Groja2:
Noch offene Fragen:
- Was macht "tokens=*"?
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
- %%~dpf und %%~pf gibt den pfad der Datei wieder
geb mal for /? auf der Kommandozeile ein, ganz unten findest du die verfügbaren Variablenerweiterungen.
Member: Groja2
Groja2 Jul 17, 2014 at 12:09:59 (UTC)
Goto Top
%%dpf ->Laufwerkbuchstabe und Pfad von f
%%pf -> Pfad von f

Ich dachte bisher, dass der Laufwerkbuchstage und der Pfad zusammen gehören. Dann habe ich dazugelernt, dass die nicht unbedingt zusammen gehören ;)

Vielen Dank nochmal für die großartige Hilfe und Erklärungen!