Dateinamen auslesen und Umbenennen
Hallo Liebe Gemeinde 
ich bräuchte mal wieder einen Batch ^^
Folgendes Szenario:
Ein Ordner wird mit Dateien befüllt die folgenden aufbau haben:
Diese Dateien müssen umbenannt werden mit folgendem Aufbau:
rot_lila_grün
Könnt ihr mir dabei helfen`?
Danke
ich bräuchte mal wieder einen Batch ^^
Folgendes Szenario:
Ein Ordner wird mit Dateien befüllt die folgenden aufbau haben:
Diese Dateien müssen umbenannt werden mit folgendem Aufbau:
rot_lila_grün
Könnt ihr mir dabei helfen`?
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 210868
Url: https://administrator.de/forum/dateinamen-auslesen-und-umbenennen-210868.html
Ausgedruckt am: 22.04.2025 um 06:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo Floggy,
mein Vorschlag mit sed:
lg
mein Vorschlag mit sed:
>echo EEEL0001_000851_76136437_34364249|sed -r "s/(\w+)_(\w+)_(\w+)_(\w+)/\4_\2_\1/"
34364249_000851_EEEL0001
lg
Moin floggy,
ich würde da nicht so viel Heckmeck drum machen.
Am Cmd-Prompt in das verzeichnis mit den Dateien wechseln und dann
ohne das ">" am Anfang; das soll der Prompt sein
Vorausgesetzt, di Dateien haben wirklich keine Extension - wenn doch, dann
- die tokens auf 1-5,
- die delims auf "_." und
- die Laufvariablen um %e erweitern.
Wenn ich den DIR-Befehl nur anwende auf alle Dateien der Konvention "eeeel0001_*_*_*", dann wäre mir das sicher genug.
Grüße
Biber
ich würde da nicht so viel Heckmeck drum machen.
Am Cmd-Prompt in das verzeichnis mit den Dateien wechseln und dann
ohne das ">" am Anfang; das soll der Prompt sein
>for /f "delims=_ tokens=1-4" %a in ('dir /b /a-d "eeel0001_*_*_*"') do @echo ren "%a_%b_%c_%d" "%d_%b_%a"
Vorausgesetzt, di Dateien haben wirklich keine Extension - wenn doch, dann
- die tokens auf 1-5,
- die delims auf "_." und
- die Laufvariablen um %e erweitern.
Wenn ich den DIR-Befehl nur anwende auf alle Dateien der Konvention "eeeel0001_*_*_*", dann wäre mir das sicher genug.
Grüße
Biber
Hallo,
du brauchst mit sed kein besonderes Script.
Einfach den Befehl vom Kommandoprompt absetzen oder in eine BAT schreiben.
Sie dir den output an und lösch das Wort
lg
du brauchst mit sed kein besonderes Script.
Einfach den Befehl vom Kommandoprompt absetzen oder in eine BAT schreiben.
Sie dir den output an und lösch das Wort
echo
, wenn alles OK ist. dir /b /a-d |sed -nr "/(\w+)_(\w+)_(\w+)_(\w+)/s//echo ren \"^&\" \"\4_\2_\1\"/ep"
lg