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-ID: 485451

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

Ausgedruckt am: 24.11.2024 um 06:11 Uhr

erikro
erikro 15.08.2019 um 09:07:29 Uhr
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
Diddy0815
Diddy0815 15.08.2019 um 09:27:46 Uhr
Goto Top
Hallo,

immer nur Ordner und die Fotos. Keine Unterverzeichnisse.
140777
Lösung 140777 15.08.2019 aktualisiert um 12:00:47 Uhr
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  
    }
}
Diddy0815
Diddy0815 15.08.2019 um 11:53:45 Uhr
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.
140777
140777 15.08.2019 aktualisiert um 12:13:20 Uhr
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
Diddy0815
Diddy0815 15.08.2019 um 12:52:27 Uhr
Goto Top
Vielen, vielen Dank! Perfekt. Was für ein Gewinn. Dankeschön!

Beste Grüße

Diddy