diddy0815
Goto Top

Umbenennen von Dateien in Ordner mit Liste

Hallo zusammen,

ich suche eine Lösung um Fotos umzubenennen die Aufgabe ist etwas speziell, da bin stehe ich mit meinem Tool zum Umbenennen an.

  • Es sind über 600 Ordner mit solchen Bezeichnungen: efadd25f-3f6a-482f-89f3-ab66f2054749

  • In diesem Ordner sind die Bilder mit unterschiedlichen Namen z.B: Photo_2018_10_23_06_36_31.jpg, Photo_5_2018_10_23_06_37_03 usw.

  • Dazu habe ich eine Excelliste die mir genau auflistet den Ordnername, Kundennummern, Datum der Erstellung, Ersteller usw.

Ich würde jetzt gerne die Ordner umbenennen auf Kundennummer. Sobald sie schon vorhanden ist, dann den Ordner auf Kundennummer_1
Die Bilder darin auf Kundennummer_1.jpg usw. Die Reihenfolge der Bilder im Ordner selbst ist komplett egal.

Ich hätte an eine Lösung aus einem Script, das auf eine Liste zugreift gedacht, kann aber auch aus Excel heraus sein. Was einfacher ist.

Ich hoffe es gibt dazu eine Lösung, denn wenn ich das per Hand zu bearbeiten habe, sitze ich sehr sehr lange.

beste Grüße

Diddy

Content-Key: 485451

Url: https://administrator.de/contentid/485451

Printed on: April 25, 2024 at 09:04 o'clock

Member: erikro
erikro Aug 15, 2019 at 07:07:29 (UTC)
Goto Top
Moin,

wie sieht denn die Excelliste aus? Liegen die Ordner alle in einer Ebenen oder gibt es Unterordner? Mit der Powershell ist das recht einfach.

Liebe Grüße

Erik
Member: Diddy0815
Diddy0815 Aug 15, 2019 at 07:27:46 (UTC)
Goto Top
Hallo,

immer nur Ordner und die Fotos. Keine Unterverzeichnisse.
Mitglied: 140777
Solution 140777 Aug 15, 2019 updated at 10:00:47 (UTC)
Goto Top
Ich geh einfach mal von einer CSV-Datenquelle in diesem Format aus:
"Ordnername";"Kundennummer"  
"efadd25f-3f6a-482f-89f3-ab66f2054749";"12345"  
"efadd25f-3f6a-482f-89f3-abdd1242ffcd";"67890"  
Nimmst du folgenden Powershell Code und passt Pfad zur CSV und Pfad zum Root-Ordner an in dem die GUID-Ordner liegen
$csv = Import-CSV "D:\newnames.csv" -Delimiter ";"  
$quelle = 'D:\root'  
foreach($folder in $csv){
    $old = "$quelle\$($folder.Ordnername)"  
    $new = "$quelle\$($folder.Kundennummer)"  
    if (Test-Path $old){
        $cnt = 1
        while(Test-Path $new){
            $new = "$quelle\$($folder.Kundennummer)_$cnt"  
            $cnt++
        }
        Rename-Item -Path $old -NewName $new -Force -Verbose
        $cnt = 1
        Get-ChildItem $new -File -Filter *.jpg | %{
            rename-item $_.FullName -NewName "$($folder.Kundennummer)_$cnt$($_.Extension)" -Force -Verbose  
            $cnt++
        }
    }else{
        write-host "Ordner mit der Bezeichnung: '$old' wurde nicht gefunden." -F Yellow  
    }
}
Member: Diddy0815
Diddy0815 Aug 15, 2019 at 09:53:45 (UTC)
Goto Top
Dankeschön.

Habe ich gerade ausprobiert funktioniert noch nicht ganz.

Hier ein Ergebnis: 110940_001

Es wird alles unbenannt, nur bei den Bildern fehlt jetzt noch die Dateiendung .jpg und kann man die Nummerierung ohne Nullen davor machen?

also: 110940_1.jpg

Sonst wirklich genial.
Mitglied: 140777
140777 Aug 15, 2019 updated at 10:13:20 (UTC)
Goto Top
Zitat von @Diddy0815:
Es wird alles unbenannt, nur bei den Bildern fehlt jetzt noch die Dateiendung .jpg
Uuups vergessen, sorry, oben eingepflegt.
und kann man die Nummerierung ohne Nullen davor machen?
Ist angepasst, dachte einfach mit Nullen davor hast du im Explorer einfach eine übersichtlichere Sortierung, aber wenn's willst kein Problem ...s. Anpassung oben
Member: Diddy0815
Diddy0815 Aug 15, 2019 at 10:52:27 (UTC)
Goto Top
Vielen, vielen Dank! Perfekt. Was für ein Gewinn. Dankeschön!

Beste Grüße

Diddy