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:
Ein Spezialist ist mein kleines Programm, welches als HTA-Skript direkt unter Windows läuft. Es sucht automatisch auch in Unterverzeichnissen und legt die XMP-Dateien im gleichen Verzeichnis ab, wie die Bilddateien.
Das Programm ExifToolGUI macht die gleiche Arbeit, nimmt sich jeweils nur ein Verzeichnis vor, hat dafür aber noch andere Funktionen.
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.
… des Skripts ErstelleXMP.hta sind:
Komplette Verzeichnisbäume automatisch abarbeiten, um die XMP-Dateien für alle Bilddateien zu erzeugen
Löschen aller vorhandenen XMP-Dateien
Update von vorhandenen XMP-Dateien oder nur die Erstellung noch nicht vorhandener XMP-Dateien
Prüfung, ob ExifTool aus den gewählten Dateitypen XMP-Dateien erstellen kann
Log-Fenster, um den Bearbeitungs-Status und -Erfolg ablesen zu können
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.
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)
Nach dem Öffnen der HTA-Datei erst einmal alles lesen, dann erst losklicken!
Die Arbeitszeit und CPU-Auslastung werden nur durch ExifTool und die Größe der Bilddateien bestimmt. Dabei wurde absichtlich so gearbeitet, dass ExifTool nur in einer Instanz arbeitet. Das HTA-Skript ist dagegen unauffällig und schont die Ressourcen des Rechners.
Schließen der DOS-Boxen oder des Skript-Fenster terminieren die Bearbeitung!
In Firmennetzwerken kann es sein, dass VBScript aus Sicherheistgründen deaktiviert ist und die HTA-Datei nicht arbeitet. In diesem Falle wird die Unterstützung des System-Administrators benötigt.
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:
Das HTA-Skript einmal so ausführen, wie es für die Aufgabe am zweckmäßigsten erscheint.
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"
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
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.
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:
Windows Explorer öffnen
Zu bearbeitendes Verzeichnis markieren
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 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'.