Ein schlankes, kostenloses Open-Source-Plugin für Adobe Lightroom Classic, das Fotos nach Sterne-Bewertung (oder nach einer beliebigen Lightroom- Sammlung/Smart Collection) in unterschiedliche Zielverzeichnisse exportiert
- jeweils in Unterordner gruppiert nach einem Metadatenfeld (standardmäßig Titel, mit Fallback-Feldern).
Gedacht als freie Alternative zu Jeffrey Friedls "Collection Publisher" für den Anwendungsfall "ich will einfach nach Bewertung in verschiedene Ordner exportieren" - ohne Registrierung, ohne Spendenaufforderung, mit offenem Quellcode. Thank you Jeffrey for your inspiration!
Du definierst beliebig viele Profile (wie eigene "Veröffentlichungsdienste"), z. B.:
- Fotos aus der Sammlung "Export 4 Sterne" →
D:\Export\VerzeichnisA\<Titel>\... - Fotos aus der Sammlung "Export 5 Sterne" →
D:\Export\VerzeichnisB\<Titel>\...
Jedes Profil hat seine eigene Quelle (Bewertung im ganzen Katalog, oder eine namentlich angegebene (Smart-)Sammlung, optional kombiniert), sein eigenes Zielverzeichnis und seine eigene Regel, wonach die Unterordner benannt werden. Über ein Menü in Lightroom wählst du aus, welche Profile in diesem Durchgang laufen sollen.
Zwei Export-Modi pro Profil:
jpeg- rendert JPEGs mit den aktuellen Lightroom-Entwicklungseinstellungen (Standard, entspricht einem normalen Export)original- kopiert die Originaldatei 1:1 (z. B. für RAW-Archivierung)
Standardmäßig (collisionHandling = "skip") wird ein Foto nicht neu
gerendert/kopiert, wenn im Zielordner bereits eine Datei mit dem erwarteten
Namen liegt. Dadurch bleiben wiederholte Läufe auf großen Katalogen schnell:
nur neu bewertete oder neu hinzugekommene Fotos werden verarbeitet. Für
"immer überschreiben" collisionHandling = "overwrite" setzen.
- Dieses Repository herunterladen bzw. klonen.
- In Lightroom Classic: Datei → Zusatzmodul-Manager… → Hinzufügen
- Den Ordner
RatingFolderExport.lrdevpluginauswählen. - Status auf Aktiviert setzen.
Es erscheinen zwei neue Menüpunkte unter Bibliothek → Zusatzmodul-Extras (bzw. Library → Plug-in Extras):
- Rating Folder Export: Profile-Datei bearbeiten
- Rating Folder Export: Export ausführen...
- Menüpunkt Profile-Datei bearbeiten anklicken. Das Plugin legt beim
ersten Mal automatisch
profiles.luaan (Kopie vonprofiles.example.lua) und öffnet den Ordner im Explorer/Finder. profiles.luamit einem beliebigen Texteditor öffnen und an die eigenen Pfade, Bewertungen/Sammlungen und Ordnerregeln anpassen (ausführliche Feldbeschreibung steht als Kommentar inprofiles.example.lua).- Speichern.
| Feld | Bedeutung |
|---|---|
name |
Anzeigename im Auswahl-Dialog |
sourceCollection |
Name einer (Smart-)Sammlung als Quelle, z. B. "Export 4 Sterne"; bei verschachtelten Sammlungssätzen mit > trennen. Optional. |
ratingMode |
"exact" (genau N Sterne) oder "atLeast" (>= N Sterne) |
rating |
Anzahl Sterne (1-5). Pflicht, wenn kein sourceCollection gesetzt ist; sonst optionaler Zusatzfilter innerhalb der Sammlung. |
destRoot |
Ziel-Basisordner |
subfolderMetadata |
Feldname ("title"), Liste von Feldern als Fallback-Kette ({"title","headline","caption"}), oder "none" |
fallbackSubfolder |
Ordnername, falls keines der Felder gefüllt ist |
mode |
"jpeg" (gerendert) oder "original" (Datei kopieren) |
jpegQuality |
0.0 - 1.0 (nur mode = "jpeg") |
longEdgePixels |
Kantenlänge in Pixeln, oder nil für Originalgröße |
collisionHandling |
"skip" (Standard, überspringt bereits vorhandene Zieldateien), "overwrite" oder "rename" |
pruneOrphaned |
true/false (Standard false). Entfernt nach jedem Lauf Dateien unter destRoot, die zu keinem aktuell passenden Foto mehr gehören (z. B. weil die Bewertung gesenkt wurde), inklusive jetzt leerer Titel-Unterordner. |
pruneAction |
"trash" (Standard, Papierkorb/Recycle Bin, wiederherstellbar) oder "delete" (endgültig) |
Menüpunkt Export ausführen... anklicken, im Dialog die gewünschten Profile ankreuzen, auf Exportieren klicken. Ein Fortschrittsbalken zeigt den Stand; am Ende erscheint pro Profil eine Zusammenfassung: wie viele Fotos gefunden, exportiert, wegen bereits vorhandener Zieldatei übersprungen wurden, und wie viele mangels passendem Metadatenfeld im Fallback-Ordner gelandet sind.
Im selben Dialog gibt es unten ein Feld "Kollisionsbehandlung für diesen
Lauf": Standardmäßig "Wie im Profil hinterlegt", du kannst hier aber für
den aktuellen Lauf temporär auf "Immer überspringen", "Immer überschreiben"
oder "Immer umbenennen" umschalten - unabhängig vom collisionHandling,
das in profiles.lua steht. Praktisch, wenn du z. B. normalerweise mit
"skip" arbeitest, aber gelegentlich gezielt neu rendern willst, ohne
dafür profiles.lua zu bearbeiten. Wird nur für diesen einen Lauf
angewendet, die Datei bleibt unverändert.
Wenn ein Foto z. B. von 5 auf 0 Sterne herabgestuft wird, matcht es das
Profil nicht mehr - die zuvor exportierte Datei bleibt aber ohne weiteres
Zutun liegen. Mit pruneOrphaned = true räumt das Plugin nach jedem Lauf
auf: Es vergleicht, welche Dateien unter destRoot zu einem aktuell
passenden Foto gehören, und entfernt alles andere - inklusive jetzt leerer
Titel-Unterordner. Auch ein Titel-/Headline-Wechsel (Foto wandert in einen
anderen Unterordner) räumt die alte Datei so mit auf.
Standardmäßig aus, und wenn aktiv, landen entfernte Dateien im
Papierkorb/Recycle Bin (pruneAction = "trash"), nicht in der
Kommandozeilen-Löschung - falls doch mal ein falsches Foto erwischt wird,
ist es normal wiederherstellbar. pruneAction = "delete" löscht
stattdessen sofort und endgültig.
Wichtig: Wenn zwei Profile denselben destRoot verwenden, kann Profil A
beim Aufräumen Dateien entfernen, die eigentlich zu Profil B gehören -
jedes Profil mit pruneOrphaned sollte einen eigenen destRoot haben.
Das Titel-Feld (IPTC "Title") wird in Lightroom nur gefüllt, wenn du es manuell im Metadaten-Panel einträgst - viele Fotos haben es nie gesetzt. Das Plugin zeigt nach jedem Lauf an, wie viele Fotos deshalb im Fallback-Ordner landeten. Abhilfen:
subfolderMetadataauf eine Fallback-Kette setzen, z. B.{"title", "headline", "caption"}, falls du stattdessen Headline/Caption pflegst.- Titel/Headline vor dem Export in Lightroom für die betroffenen Fotos ergänzen (Metadaten-Panel, oder per Stapel-Bearbeitung für eine ganze Sammlung).
- Ist
sourceCollectiongesetzt, werden die Fotos dieser (Smart-)Sammlung percollection:getPhotos()gelesen (optional zusätzlich nach Bewertung gefiltert). Sonst durchsuchtcatalog:findPhotosden ganzen Katalog nach passender Bewertung. - Die Fotos werden nach dem gewählten Metadatenfeld (bzw. der Fallback-Kette) gruppiert.
- Vor dem eigentlichen Export wird pro Foto geprüft, ob die erwartete
Zieldatei schon existiert; bei
collisionHandling = "skip"wird sie dann gar nicht erst gerendert/kopiert. - Pro Gruppe wird entweder
LrExportSession(echter Lightroom-Export inkl. Entwicklungseinstellungen) oder eine reine Dateikopie ausgeführt, mit dem berechneten ZielordnerdestRoot/<Wert des Metadatenfelds>.
- Getestet mit Lightroom Classic (SDK 10, sollte ab LrSdkMinimumVersion 6.0 laufen). Kein Test mit sehr alten Lightroom-Versionen erfolgt.
- Vor dem produktiven Einsatz: erst mit einer kleinen Testauswahl / einem Test-Zielordner ausprobieren.
- Kein automatischer Hintergrund-Sync wie bei "echten" Lightroom-Publish-
Diensten - das Plugin läuft nur, wenn du es über das Menü startest
(dank
collisionHandling = "skip"aber schnell bei wiederholten Läufen). - Ein Diagnose-Log wird unter
~/Documents/lrClassicLogs/RatingFolderExport.log(bzw. dem Windows-Äquivalent) geschrieben, falls beim Lesen von Metadatenfeldern etwas schiefgeht.
Issues und Pull Requests sind willkommen - z. B. für weitere Metadatenfelder, eine grafische Profil-Verwaltung statt der Lua-Datei, oder Unterstützung für TIFF/PSD als Export-Format.
MIT - siehe LICENSE.