fxcoach
Goto Top

Batch...kopieren und umbenennen von Dateien

Hallo,

ich möchte gern per Batch-Datei Dateien in ein anderes Verzeichnis kopieren und anschließend umbenennen.
Also z.B. von c:\Ursprungsordner\C123456789R_test_SLA.txt in c:\Zielordner\C123456789R-OK.txt
(Alles vor dem ersten Unterstrich soll in den Zieldateinamen mit übernommen werden)

Ich sitze schon eine ganze Weile daran zu verstehen wie das funktioniert. Die Dateiabfrage kann ich wohl in einer Schleife per: for /f in... lösen, jedoch komme ich einfach zu keinem brauchbaren Ergebnis...

Kann mir da Jemand mit etwas code weiterhelfen?

Vielen Dank im Voraus

Content-Key: 197032

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: miniversum
miniversum Jan 15, 2013 at 18:13:05 (UTC)
Goto Top
Hallo,

1. Du willst kopieren und anschließend umbenennen. Das geht direkt mit dem copy Befehl in einem Rutsch.
2. Das mit der For schreife ist schon richtig. In der Hilfe zu For findest du 2 wichtige Parameter die dir hier weiterhelfen:
a. "delims=_" bewirkt das bei "_" getrennt wird.
b. "tokens=1*" bewirkt das du den Teil vor dem ersten "_" und den Teil nach dem ersten "_" jeweils in einer Variabeln hast.

Das ganze zusammen kann dann so aussehen (in einer Batch datei):
@FOR /F "tokens=1* delims=_" %%i in ('dir /b c:\Ursprungsordner\*.txt') do copy c:\Ursprungsordner\%%i_%%j c:\Zielordner\%%i-ok.txt  
Member: fxcoach
fxcoach Jan 15, 2013 at 19:04:34 (UTC)
Goto Top
Hallo Miniversum,

vielen Dank für den Code. Funktioniert wunderbar face-smile
Jetzt kann ich ein bisschen damit experimentieren...
Member: pieh-ejdsch
pieh-ejdsch Jan 16, 2013 at 16:57:12 (UTC)
Goto Top
moin im Voraus,

wenn Du nur nach den Untersrich OK haben willst, reicht auch:
ren c:\Ursprungsordner\*_*.txt *_OK.txt

Gruß Phil