Dateien in Ordnern umbenennen zu Ordnername+[Nummer]

Ein Kunde suchte eine schnelle Lösung um 100e Ordner mit Bildern unter Windows umzubenennen.
Die Ordner waren bereits richtig benannt „Urlaub 2015 – Schweden“ und die enthaltenen Bilder hatten den Namen der Kamera „DSC20150620_001.jpg“ usw…
Wir haben ein kurzes Script für die Powershell erstellt mit welchem er das in Sekunden erledigt hat.
Mit einem Texteditor (Notepad) eine Datei anlegen zB.: „rename_images.ps1“ und folgenden Code reinkopieren und anpassen.

Skript ausführen in der Powershell:  Navigiere mit cd zu dem Ort, an dem du die Datei gespeichert hast (z. B. cd Desktop).
Starte das Skript mit: .\rename_images.ps1
Hinweis: Falls eine Fehlermeldung zur „Execution Policy“ erscheint, gib einmalig folgenden Befehl ein: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser und bestätige mit „J“.


# --- Konfiguration ---
# Setze hier den Pfad zum Hauptordner ein, in dem deine Unterordner liegen
$parentFolder = "d:\Bilder\2015"

# Liste der Bildendungen, die berücksichtigt werden sollen
$extensions = @(".jpg", ".jpeg", ".png", ".gif", ".bmp")

# --- Skript-Logik ---
# Alle Unterordner im Hauptordner abrufen
$subfolders = Get-ChildItem -Path $parentFolder -Directory

foreach ($folder in $subfolders) {
Write-Host "Verarbeite Ordner: $($folder.Name)" -ForegroundColor Cyan

# Alle Bilddateien im aktuellen Unterordner finden
$files = Get-ChildItem -Path $folder.FullName -File | Where-Object { $extensions -contains $_.Extension.ToLower() }

$counter = 1
foreach ($file in $files) {
# Neuer Name: Ordnername + Bindestrich + 3-stellige Nummer + Endung
$newName = "{0}-{1:D3}{2}" -f $folder.Name, $counter, $file.Extension
$destinationPath = Join-Path -ChildPath $newName -Path $folder.FullName

# Umbenennung durchführen
Rename-Item -Path $file.FullName -NewName $newName

$counter++
}
}

Write-Host "Fertig! Alle Bilder wurden umbenannt." -ForegroundColor Green

Benutzung auf eigene Gefahr und immer zuvor ein Backup machen!

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen