Mehrfaches umbenennen per Batch - ich dreh bald durch
Hallo Leute, vielleicht könnt ihr mir helfen.
Folgendes Problem:
Es handelt sich um eine Bildersammlung für Artikel eines Versandunternehmens.
Im Ordner c:\Bilder sind etwa 2500 Bilder die täglich erweitert werden:
12_1.jpg
456_1.jpg
456_2.jpg
1589_1.jpg
1589_2.jpg
1589_3.jpg
2456.jpg
2401_1.jpg
789.jpg
usw.
die ersten Stellen sind die Artikelnummer und die Stellen nach dem Unterstrich geben an das von dem Artikel Bilder mit mehreren Ansichten existieren. Täglich werden die Bilder erweitert aber nicht der Reihe nach, d.h. ich mach heute Bilder vom Artikel 1589 und morgen vom 1456.
Nun ist es notwendig geworden den Bildernamen noch eine Zeichenfolge vorzustellen, die in einer Excel Tabelle abgelegt sind. Die Tabelle hat zwei Spalten. In Spalte A steht die Artikelnummer wie die Bilder im Ordner genannt wurden (Zeichenfolge vor dem Unterstrich) und in Spalte B steht die Textfolge die nun noch davor soll im Format : H7-1235-4895 (Bsp.)
Das Ergebnis wäre dann in etwa:
K1-4568-7895_12_1.jpg
H7-1235-4895_1589_1.jpg
H7-1235-4895_1589_2.jpg
H7-1235-4895_1589_2.jpg
G4-4523-5896_456_1.jpg
G4-4523-5896_456_2.jpg
usw.
Ich bin mit der Lösung ehrlich gesagt momentan komplett überfordert.
Hat von euch vielleicht jemand kurz Zeit sich dieser Problematik anzunehmen ?
Wäre echt Spitze !
Danke
MfG
Thomas
Folgendes Problem:
Es handelt sich um eine Bildersammlung für Artikel eines Versandunternehmens.
Im Ordner c:\Bilder sind etwa 2500 Bilder die täglich erweitert werden:
12_1.jpg
456_1.jpg
456_2.jpg
1589_1.jpg
1589_2.jpg
1589_3.jpg
2456.jpg
2401_1.jpg
789.jpg
usw.
die ersten Stellen sind die Artikelnummer und die Stellen nach dem Unterstrich geben an das von dem Artikel Bilder mit mehreren Ansichten existieren. Täglich werden die Bilder erweitert aber nicht der Reihe nach, d.h. ich mach heute Bilder vom Artikel 1589 und morgen vom 1456.
Nun ist es notwendig geworden den Bildernamen noch eine Zeichenfolge vorzustellen, die in einer Excel Tabelle abgelegt sind. Die Tabelle hat zwei Spalten. In Spalte A steht die Artikelnummer wie die Bilder im Ordner genannt wurden (Zeichenfolge vor dem Unterstrich) und in Spalte B steht die Textfolge die nun noch davor soll im Format : H7-1235-4895 (Bsp.)
Das Ergebnis wäre dann in etwa:
K1-4568-7895_12_1.jpg
H7-1235-4895_1589_1.jpg
H7-1235-4895_1589_2.jpg
H7-1235-4895_1589_2.jpg
G4-4523-5896_456_1.jpg
G4-4523-5896_456_2.jpg
usw.
Ich bin mit der Lösung ehrlich gesagt momentan komplett überfordert.
Hat von euch vielleicht jemand kurz Zeit sich dieser Problematik anzunehmen ?
Wäre echt Spitze !
Danke
MfG
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 80957
Url: https://administrator.de/forum/mehrfaches-umbenennen-per-batch-ich-dreh-bald-durch-80957.html
Ausgedruckt am: 23.04.2025 um 09:04 Uhr
9 Kommentare
Neuester Kommentar
Ich geh jetz tmal davon aus das du die Exceldatei als csv Datei exportieren kannst die dann das folgende Format hat:
Artikelnummer;Code
Also z.B.
@echo off
set "verz=C:\Bilder"
set "codefile=C:\Bilder\Nummernundbuchstaben.csv"
FOR /F "delims=" %%f in ('dir /b "%verz%"') do (
FOR /F "tokens=1 delims=_" %%n in ('echo %%~nf') do (
FOR /F "tokens=1,2 delims=;" %%a in ('type "%codefile%"') do (
if [%%a] equ [%%n] (
ren "%%f" "%%b-%%~nxf"
)
)
)
)
Bitte erst an Dummydaten testen. Ist von mir ungetestet hingeschrieben!
miniversum
Artikelnummer;Code
Also z.B.
4568;K1
1235;H7
4523;G4
Dann sollte es so gehen:1235;H7
4523;G4
@echo off
set "verz=C:\Bilder"
set "codefile=C:\Bilder\Nummernundbuchstaben.csv"
FOR /F "delims=" %%f in ('dir /b "%verz%"') do (
FOR /F "tokens=1 delims=_" %%n in ('echo %%~nf') do (
FOR /F "tokens=1,2 delims=;" %%a in ('type "%codefile%"') do (
if [%%a] equ [%%n] (
ren "%%f" "%%b-%%~nxf"
)
)
)
)
Bitte erst an Dummydaten testen. Ist von mir ungetestet hingeschrieben!
miniversum
Ich habe es grade bei mir getestet. Da gehts.
Für bitte mal diese Datei aus:
Es sollte nichts umbenant werden sondern eine Datei log.txt erstellt werden die ungefär so aussieht:
miniversum
Für bitte mal diese Datei aus:
@echo off
set "verz=C:\Bilder"
set "codefile=C:\Bilder\Nummernundbuchstaben.csv"
FOR /F "delims=" %%f in ('dir /b "%verz%"') do (
FOR /F "tokens=1 delims=_" %%n in ('echo %%~nf') do (
FOR /F "tokens=1,2 delims=;" %%a in ('type "%codefile%"') do (
if [%%a] equ [%%n] (
echo Umbenennen: "%%f" in "%%b-%%~nxf" Zuordnung: [%%a] oder [%%n] zu Code [%%b]>>log.txt
REM ren "%%f" "%%b-%%~nxf"
)
)
)
)
Umbenennen: "4568_5678.jpg" in "K1-4568_5678.jpg" Zuordnung: [4568] oder [4568] zu Code [K1]
Umbenennen: "1235_5678.jpg" in "H7-1235_5678.jpg" Zuordnung: [1235] oder [1235] zu Code [H7]
Umbenennen: "4523_5678.jpg" in "G4-4523_5678.jpg" Zuordnung: [4523] oder [4523] zu Code [G4]
So kannst du zuordnen ob die Codierung mit den Zahlenweiten richtig verglichen wird.Umbenennen: "1235_5678.jpg" in "H7-1235_5678.jpg" Zuordnung: [1235] oder [1235] zu Code [H7]
Umbenennen: "4523_5678.jpg" in "G4-4523_5678.jpg" Zuordnung: [4523] oder [4523] zu Code [G4]
miniversum