• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs April 2024.
    Thema: "Sprichwörtlich"

    Nur noch bis zum 30.04.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
WERBUNG

LR5: Beim Export Leerzeichen aus Dateinamen entfernen

NaumannU

Themenersteller
Hallo zusammen,

ich knabbere gerade an einem kleinen Problem.

Ich habe in LR div. Dateien. die Leerzeichen im Dateinamen enthalten. Die will ich als JPG exportieren. Dabei sollen die Leerzeichen aus dem Dateinamen entfernt/ersetzt werden.

Ideen?

Mit Bordmitteln scheint das nicht zu gehen. Gibts da evtl. ein passendes Plugin für?
 
Ich habe in LR div. Dateien. die Leerzeichen im Dateinamen enthalten. Die will ich als JPG exportieren. Dabei sollen die Leerzeichen aus dem Dateinamen entfernt/ersetzt werden.

Ideen?

Mit Bordmitteln scheint das nicht zu gehen. Gibts da evtl. ein passendes Plugin für?

Viele Plugins von Jeffrey Friedl unterstützen sog. Token Filter (http://regex.info/blog/lightroom-goodies/template -> Token Filters). Stichworte: S2U, S2D, NS, LO.
 
Zuletzt bearbeitet:
Hallo Uwe,

einfach als JPG-Dateien mit Leerzeichen exportieren, anschließend das Verzeichnis im Total Commander öffnen und mit dem Mehrfach-Umbenennen-Tool die Leerzeichen durch ein Zeichen deiner Wahl ersetzen.
Das sind 2 Klicks und schon hast du alle markierten Dateien des Verzeichnisses geändert.

LG Heinz
 
Voreinstellung - Dateiverwaltung - Bei Leerzeichen im Namen - Auswählen was du willst zb _
 
Hallo Uwe,

einfach als JPG-Dateien mit Leerzeichen exportieren, anschließend das Verzeichnis im Total Commander öffnen und mit dem Mehrfach-Umbenennen-Tool die Leerzeichen durch ein Zeichen deiner Wahl ersetzen.
Das sind 2 Klicks und schon hast du alle markierten Dateien des Verzeichnisses geändert.

LG Heinz

Genau das will ich mir ersparen. Ist halt nervige Mehrarbeit und eine Fehlerquelle mehr (man kanns vergessen) wenn man es häufig benötigt.
 
So, nochmal danke für alle Hinweise. Nach reichlicher Überlegung habe ich das nun doch ganz anders umgesetzt. An die globalen Einstellungen wollte ich nicht so recht ran, wer weiss wo das dann anderweitig wieder quer schlägt...

Anstelle ein Plugin zu nutzen habe ich mir jetzt ein kleines VBS-Script geschrieben, was die gewünschten Sachen erledigt. Das kann ich dann je nach Bedarf einfach für meine Zwecke erweitern.

Das Ganze in den Actions-Ordner von LR kopieren und am Ende des Exportjobs aufrufen lassen, fertig.

Der Vollständigkeit halber hier das Script:

Code:
'Übergebene Dateinamen um Sonderzeichen und Spaces bereinigen sowie
'komplett auf Kleinschreibung umsetzen.
'Datei muss in Codierung ANSI gespeichert werden für korrekte Darstellung von Umlauten.

'übergebene Parameter auslesen
Set saArguments = WScript.Arguments

'wurden Argumente übergeben?
If saArguments.Count = 0 Then
	MsgBox "Keine Dateinamen übergeben!", vbCritical + vbOKOnly, WScript.ScriptName
	WScript.Quit
End If

Set oFSO = CreateObject("Scripting.FileSystemObject")

'alle Argumente der Reihe nach verarbeiten
For Each sFileNameOld in saArguments

	'alles auf Kleinschreibung umsetzen
	sFileNameNew = LCase(sFileNameOld)
	
	'Umlaute ersetzen
	sFileNameNew = Replace(sFileNameNew, "ä", "ae")
	sFileNameNew = Replace(sFileNameNew, "ö", "oe")
	sFileNameNew = Replace(sFileNameNew, "ü", "ue")
	sFileNameNew = Replace(sFileNameNew, "ß", "ss")

	'Leerzeichen ersetzen
	sFileNameNew = Replace(sFileNameNew, " ", "_")

	'Trennstriche (Datum, etc.) entfernen
	sFileNameNew = Replace(sFileNameNew, "-", "")

	'durch Ersetzung entstandene doppelte Unterstriche ersetzen
	sFileNameNew = Replace(sFileNameNew, "__", "_")

	'Falls Zieldatei vorhanden ist löschen
	If oFSO.FileExists(sFileNameNew) Then
		oFSO.DeleteFile(sFileNameNew)
	End If
	
	'Datei umbennen
	oFSO.MoveFile sFileNameOld, sFileNameNew
Next

Set oFSO = Nothing
 
You made my day, Uwe.

Ich stoß nach dem Export manuell ein Script an mit exiftool, in welchem ich die Exif-Daten nach meinen Wünschen korrigiere (hauptsächlich: wieder so hinkriegen wie sie die Kameras liefern, damit etwa Irfan sie auch richtig anzeigen kann).

Nach Deinem Verfahren leg ich also dieses Script ins Export Actions Verzeichnis und spar mir den manuellen Aufruf. Aber - wie sag ich dem exiftool-Aufruf, in welchem Verzeichnis sich das exportierte Bild befindet? Bei den ersten Versuchen befindet sich der Fokus auf dem Export Actions Verzeichnis. Wie frag ich ab, in welchem Verzeichnis sich die aktuellen Biilder befinden?

Manfred
 
Wie frag ich ab, in welchem Verzeichnis sich die aktuellen Biilder befinden?

Garnicht. Das liefert Dir LR als Übergabeparameter, siehe mein Script. Genau genommen nicht das Verzeichnis, sondern den vollqualifizierten Dateinamen.

Um den reinen Pfadnamen zu bekommen musst Du einen kleinen Umweg gehen. Du musst Dir ein Datei-Objekt erzeugen und von dem kannst Du Dir den ParentFolder liefern lassen:

Code:
	Set oFile = oFSO.GetFile(sFileName)
	MsgBox oFSO.GetParentFolderName(oFile)
	Set oFile = Nothing
 
Hallo Uwe, hallo Manni,

nach langer Suche bin ich nun in diesem Thread gelandet und es scheint als hättet ihr die Lösung für mein Problem, daher wärme ich ihn nochmal auf:
In Lightroom 5 möchte ich gerne direkt beim Export die EXIF-Daten ändern, nicht erst im Nachgang händisch per Terminal -- idealerweise direkt über das Exportmenü von Lightroom und nicht über Zusatzplugins wie bspw. Metadata Wrangler. Mein EXIF-Script funktioniert im MAC-Terminal einwandfrei, aber bei Lightroom fehlt mir der Übergabeparameter für den richtigen Pfad.

Die Werte für Batch-Dateien unter Windows habe ich bei euch gesehen. Ich bräuchte sie nur leider für MAC. Habt ihr evtl. eine Idee, wie ich die herausfinden kann?


Vielen Dank schonmal und beste Grüße, Joe
 
Hallo Uwe,

nach den Weihnachtstagen komme ich leider erst jetzt wieder dazu mich dem Thema zu widmen:

Habe einen Shell-Script erstellt, den ich im Export Aktions-Ordner abgespeichert habe als "exif_command.sh". Aufruf erfolgt bei Lightroom beim Exportdialog über den Menüpunkt "Nachbearbeitung". Den Script-Text findest du unten. Da der Ordnerpfad vom Exportpfad abweicht, müsste ich mE in den Shell-Script noch den Exportpfad übergeben.

Anbei der Script-Text. Über das Terminal funktioniert es, was ich nun eben gerne direkt über Lightroom ausführen lassen möchte:
Code:
#!/bin/bash

exiftool '-FileModifyDate<EXIF:DateTimeOriginal' -all= -P -overwrite_original -tagsfromfile @ -ICC_Profile -ThumbnailImage -EXIF:ColorSpace= -EXIF:Artist -EXIF:Copyright -ext jpg *


Beste Grüße, Joe
 
Joe, siehe weiter oben. LR liefert als Übergabeparameter die vollqualifizierten Dateinamen. Die wertest Du aber nirgendwo aus.

Du bearbeitest alle Dateien im aktuellen Verzeichnis, deshalb klappt da auch in einer Dialog-Shell. Beim Aufruf des Scripts aus LR steht die erzeugte Shell aber in einem ganz anderen Verzeichnis. Gib mal innerhalb Deines Scripts den aktuellen Pfad mit pwd aus.

Du müsstest ebenfalls die übergebenen Dateinamen durchlaufen. Die stecken bei der bash in der Variablen $@.

Ungetestet und auf die Schnelle, als Basis für eigene weitere Forschungen:

Code:
#!/bin/bash

for file in "$@"
do
    exiftool '-FileModifyDate<EXIF:DateTimeOriginal' -all= -P -overwrite_original -tagsfromfile @ -ICC_Profile -ThumbnailImage -EXIF:ColorSpace= -EXIF:Artist -EXIF:Copyright -ext jpg * $file
done
 
WERBUNG
Zurück
Oben Unten