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-ID: 197032

Url: https://administrator.de/forum/batch-kopieren-und-umbenennen-von-dateien-197032.html

Ausgedruckt am: 22.04.2025 um 10:04 Uhr

miniversum
miniversum 15.01.2013 um 19:13:05 Uhr
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  
fxcoach
fxcoach 15.01.2013 um 20:04:34 Uhr
Goto Top
Hallo Miniversum,

vielen Dank für den Code. Funktioniert wunderbar face-smile
Jetzt kann ich ein bisschen damit experimentieren...
pieh-ejdsch
pieh-ejdsch 16.01.2013 um 17:57:12 Uhr
Goto Top
moin im Voraus,

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

Gruß Phil