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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
3 Kommentare
Neuester Kommentar
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):
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