Umbenennung von 18 Dateien inkl. auslesen des Datums
Hallo,
da mir dieses Forum schon einmal in meiner "Not" super geholfen hat, hier nochmals ein Problem wo mir der Lösungsansatz fehlt.
Ich habe 18 Dateien, welche umbenanntt werden müssen, so sehen die Dateien (Name immer gleich, xx beschreibt das Datum (Tag) des aktuellen Monats) ursprünglich aus:
CX2010A.xxA -> (901)
CX2010B.xxA -> (902)
CX4010A.xxA
CX4010B.xxA
CX4110A.xxA
CX4110B.xxA
CX3401.xxA
C0101A.xxA
C0101B.xxA
BC6602.xxA
BC3101.xxA
BC6201.xxA
SC2602.xxA
SC2612.xxA.
SC2702.xxA
DC4000.xxA
ANILINE.xxA
C0179.xxA -> (918)
Diese Dateien sollen wie folgt umbenannt werden:
DAYxx.901
DAYxx.902
...
...
DAYxx.918
Ich zergrübele mir den Kopf, finde keine vernünftige Lösung dazu.
Ich wäre für jeden Ansatz / Hilfestellung dankbar.
Gruß
da mir dieses Forum schon einmal in meiner "Not" super geholfen hat, hier nochmals ein Problem wo mir der Lösungsansatz fehlt.
Ich habe 18 Dateien, welche umbenanntt werden müssen, so sehen die Dateien (Name immer gleich, xx beschreibt das Datum (Tag) des aktuellen Monats) ursprünglich aus:
CX2010A.xxA -> (901)
CX2010B.xxA -> (902)
CX4010A.xxA
CX4010B.xxA
CX4110A.xxA
CX4110B.xxA
CX3401.xxA
C0101A.xxA
C0101B.xxA
BC6602.xxA
BC3101.xxA
BC6201.xxA
SC2602.xxA
SC2612.xxA.
SC2702.xxA
DC4000.xxA
ANILINE.xxA
C0179.xxA -> (918)
Diese Dateien sollen wie folgt umbenannt werden:
DAYxx.901
DAYxx.902
...
...
DAYxx.918
Ich zergrübele mir den Kopf, finde keine vernünftige Lösung dazu.
Ich wäre für jeden Ansatz / Hilfestellung dankbar.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205543
Url: https://administrator.de/forum/umbenennung-von-18-dateien-inkl-auslesen-des-datums-205543.html
Ausgedruckt am: 23.04.2025 um 13:04 Uhr
12 Kommentare
Neuester Kommentar
Hi Afaxa,
p.s. besorg Dir mal ein vernünftiges FileRename-Programm wie z.B. http://www.publicspace.net/windows/BetterFileRename/
Grüße Uwe
@echo off & setlocal ENABLEDELAYEDEXPANSION
set counter=0
for %%i IN (*.??A) DO @(
set oldname=%%i
set /A counter +=1
set day=!oldname:~-3,2!
if !counter! GEQ 10 (set num=9!counter!) else (set num=90!counter!)
ren "!oldname!" "DAY!day!.!num!"
)
p.s. besorg Dir mal ein vernünftiges FileRename-Programm wie z.B. http://www.publicspace.net/windows/BetterFileRename/
Grüße Uwe
Zitat von @axfa77:
Ist hierbei "sichergestellt", das auch wirklich Dateiname "SC2702" die "915" bekommt?
ich ging nur davon aus das die Dateien nach diesem Muster aussehen : *.??AIst hierbei "sichergestellt", das auch wirklich Dateiname "SC2702" die "915" bekommt?
und die 9 immer gleich bleibt und die Zahl dahinter immer weiter hochgezählt wird. Von einer Zuordnung war in deiner Frage keine Rede. Den Monatstag wird natürlich von der Erweiterung entnommen *.(xx)A
Dachte das der Monatstag das wichtige Element ist.
Zitat von @axfa77:
Hallo,
Zu 1: Die fehlen, weil ich dort eine "Gemeingültigkeit" einbauen will. Es kann u.U. sein das dort ein kompletter
Monat an Daten umbenannt werden sollen also 18 x 31 Daten, abhängig vom Datum.
Hallo,
Zu 1: Die fehlen, weil ich dort eine "Gemeingültigkeit" einbauen will. Es kann u.U. sein das dort ein kompletter
Monat an Daten umbenannt werden sollen also 18 x 31 Daten, abhängig vom Datum.
Das geht ja so nicht.
Gruss!
Zitat von @axfa77:
Edit: Habs getestet, leider nimmt das Skript die Dateien unabhängig vom Dateinamen, "einfach" der Reihe nach.
Ganz wichtig ist, daß z.B. CX2010.24A auch zu DAY24.901 umbenannt wird.
Edit: Habs getestet, leider nimmt das Skript die Dateien unabhängig vom Dateinamen, "einfach" der Reihe nach.
Ganz wichtig ist, daß z.B. CX2010.24A auch zu DAY24.901 umbenannt wird.
dann sollte das gehen wenn die Reihenfolge wichtig ist:
@echo off & setlocal ENABLEDELAYEDEXPANSION
set counter=0
for %%i IN (CX2010A.??A CX2010B.??A CX4010A.??A CX4010B.??A CX4110A.??A CX4110B.??A CX3401.??A C0101A.??A C0101B.??A BC6602.??A BC3101.??A BC6201.??A SC2602.??A SC2612.??A SC2702.??A DC4000.??A ANILINE.??A C0179.??A) Do @(
set oldname=%%i
set /A counter +=1
set day=!oldname:~-3,2!
if !counter! GEQ 10 (set num=9!counter!) else (set num=90!counter!)
ren "!oldname!" "DAY!day!.!num!"
)