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
Please also mark the comments that contributed to the solution of the article
Content-Key: 210868
Url: https://administrator.de/contentid/210868
Printed on: April 25, 2024 at 22:04 o'clock
7 Comments
Latest comment
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