[Zurück] · [Übersicht]


XMP-Daten exportieren

Mit den bisherigen Beschreibungen dieses kleinen Tutorials kann der wesentliche Teil des Katalogisierungs-Prozesses durchgeführt werden und auch die Suche nach Bildern über Metadaten ist möglich.

Auch wenn ich es als vorteilhafter ansehe, Metadaten in der Bilddatei selbst zu speichern, statt sie in XMP-SideCar-Dateien abzulegen, kann es sein, dass genau diese XMP-Dateien benötigt werden: Beispielsweise schreibt der Kunde eine Datenbank vor oder der Geldbeutel erlaubt nur eine Bilddatenbank, die gerade keine Metadaten aus RAW-Dateien lesen kann.

Ich habe nur wenige mächtige Werkzeuge gefunden, um Metadaten aus Bilddateien auszulesen und in externe XMP-Dateien zu schreiben. ExifTool gehört dazu, hat für die normale Anwendung leider den Nachteil, keine passende grafische Oberfläche (GUI) anzubieten - für allgemeine Aufgaben existiert ExifToolGUI, welches zahlreiche Funktionen enthält, die aich auch in XnView und GeoSetter wiederfinden. Andererseits wurden die Bilddateien mit GeoSetter indirekt schon durch ExifTool bearbeitet, die erneute Benutzung von ExifTool würde also maximale Kompatibilität und Zuverlässigkeit versprechen.

Ich habe im folgenden zwei Lösungen anzubieten:

GUI mit Windows-Bordmitteln

Unter Windows gibt es dazu ein Werkzeug, welches zwar nicht einfach erlernbar ist, aber zu erstaunlichen Ergebnissen führt. Daneben ist es als Skriptsprache vollkommen quelloffen, so dass jeder Anwender die Aktivitäten einer HTA-Datei (HTML-Applikation) mit einem Texteditor vorab prüfen kann (ich empfehle dazu den Editor phase 5 der ein spezielles Syntax-Schema für VBS in HTML bietet oder freie Notepad++). Die HTA-Datei ist im Gegensatz zu einer echten EXE-Datei sehr klein, weil sie als Mischung aus HTML-Elementen und Funktionen des Windows Scripting Hosts ein Skript ist, welches von einem Windows-Interpreter ausgeführt wird. Dennoch kann es auch kompliziertere Aufgaben im Dateisystem erledigen.

Nach dem Entpacken wird die Datei durch Doppelklick automatisch oder manuell über den Internet Explorer geöffnet. Eine Internetverbindung ist nicht erforderlich und der Windows Scripting Host (VBScript) muss aktiviert sein (mit Helferlein wie xp-AntiSpy lässt sich dieses Verhalten an- und abschalten).

Das Skript durchsucht Verzeichnisse mitsamt Unterverzeichnissen nach vorgegebenen Bilddateitypen und schreibt die XMP-Daten heraus. Wenn also die Datei IMG_1234.CR2 gefunden wird, erzeugt das Skript mit Hilfe von ExifTool die Datei IMG_1234.XMP, welche die Metadaten aus IMG_1234.CR2 enthält.

Vorsicht: Wenn sowohl IMG_1234.CR2 als auch IMG_1234.JPG existieren, enthält IMG_1234.XMP nur die Informationen eines Bildes - in welcher Reihenfolge vorgegangen wird, erklärt die ErstelleXMP.hta Datei.

Kernfunktionen

… des Skripts ErstelleXMP.hta sind:

Die Metadaten können weiterhin in den Bilddateien (hier also IMG_12134.CR2) gepflegt werden, bei Bedarf wird einfach noch einmal das Skript ErstelleXMP.hta gestartet, um die XMP-Dateien zu aktualisieren.

Besonders zweckmäßig ist dies, wenn man relativ langsame optische Medien (BD/DVD/CD) zu Archivierungszwecken erstellt, dann lassen sich vor dem Brennen eines Verzeichnisbaums noch einmal alle XMP-Dateien aktualisieren bzw. erstellen.

Download

Möglicherweise reagieren Virenscanner ablehnend auf den Download von HTA-Dateien, da sie VBScript enthalten. Diese HTA-Datei erzeugt kleine temporäre Textdateien, die es auch wieder löschen möchte, was die Fehlalarmgefahr beim Virenscanner erhöhen könnte. Darum stelle ich eine gepackte HTA-Datei zur Verfügung:
ErstelleXMP.zip (7 kB)

Hinweise und Empfehlungen

Alternative

Zum Schluß sei noch erwähnt, dass die HTA-Datei die ideale Lösung für Gelegenheitsnutzer ist. Wer dagegen täglich auf's Neue XMP-Dateien für neue Bilddateien erstellen muss, für den gibt es noch folgende Möglichkeit, mit noch weniger Klicks zu arbeiten:

  1. Das HTA-Skript einmal so ausführen, wie es für die Aufgabe am zweckmäßigsten erscheint.

  2. Im Ausgabefenster stehen die kompletten Befehlszeilen für den Aufruf von ExifTool. Eine davon wird herauskopiert. Hier soll die Zeile beispielhaft so aussehen:
    exiftool.exe -ext CR2 -tagsfromfile @ -srcfile %d%f.xmp -r "D:\Bilder\Test Gruppe"

  3. exiftool.exe wird um den den vollständigen Anwendungspfad erweitert, z.B. C:\Programme\GeoSetter\tools\exiftool.exe und der Name des zu bearbeitenden Verzeichnisses wird durch %1 ersetzt:
    C:\Programme\GeoSetter\tools\exiftool.exe -ext CR2 -tagsfromfile @ -srcfile %d%f.xmp -r %1

  4. Im Ordner C:\Dokumente und Einstellungen\[Benutzername]\SendTo\ wird eine neue Verknüpfung erstellt und die geänderte Zeile komplett als Speicherort des Elements eingegeben.

  5. Die Verknüpfung erhält einen aussagekräftigen Namen, beispielsweise 'XMP für alle CR2-Dateien erstellen'

Sobald nun die Funktion gebraucht wird, geht man so vor:

  1. Windows Explorer öffnen

  2. Zu bearbeitendes Verzeichnis markieren

  3. Rechte Maustaste → 'Senden an' → 'XMP für alle CR2-Dateien erstellen'

In diesem Fall liest ExifTool alle CR2-Dateien in dem markierten Verzeichnis und seinen Unterverzeichnissen. Für jede CR2-Datei eine neue XMP-Datei erstellt bzw. die vorhandene überschrieben.

ExifToolGUI

ExifToolGUI muss nicht installiert werden, allerdings muss aus dem Verzeichnis von …\GeoSetter\tools\exiftool.exe die ExifTool in das Verzeichnis von ExifToolGUI kopiert werden.

Um die XMP-Daten zu erzeugen wählt man im Menü 'Export/Import' → 'Export Metadata into' → 'XMP-files…'. Im folgenden Dialog klickt man auf '-XMP' und 'Execute'.