Sehr geehrte Redaktion,
ich taste mich langsam an das o.a.Tool heran, das ich zur besseren Strukturierung meiner Fotosammlungen nutzen möchte. Dazu habe ich folgende Fragen:
1. Die Installation über das Terminal führt zur (veralteten) Version 10.xx, aktuell ist laut Homepage die Version 11.98. Kann ich diese über den Befehl
„sudo apt-get update && sudo apt-get install -y libimage-exiftool-perl“
updaten, natürlich ohne die “ ( das -y sagt mir leider nichts)?. Oder muss ich das Archiv 11.98.tar.gz herunterladen und installieren?
2. Ich möchte die Fotosammlung in einer Ordnerstruktur mit Jahreszahlen anlegen, die Monatsordner als Unterordner enthalten, in welche das Tool die Bilder entsprechend ihres Aufnahmedatums einsortiert. Für den Sortiervorgang nach Datum habe ich vor einiger Zeit den in der Anlage beschriebenen Terminalbefehl in einem der Newsletter Ihres Verlages gefunden, es aber versäumt, den Text zu speichern (nur zu schnell ausgedruckt).So muss ich den Befehl leider händisch eingeben. Gibt es weitere Befehls“vorlagen“ für das Sortieren nach Jahreszahl und Monaten?
3. Um den Zeitstempel der Datei (Aufnahmedatum) zu bekommen, dient im Befehl das „-P“. Wenn allerdings die Datei zwischenzeitlich auf dem Rechner in einen anderen Ordner oder auf einer ext. FP gesichert wurde, wird ein neues Datum geschrieben, das nicht dem Aufnahmezeitpunkt entspricht: Kann man das korrigeren?
Für den Umfang meiner Fragen bitte ich um Nachsicht (aber das Thema ist irgendwie spannend).
Mit freundlichen Grüßen
alamogordo
Hallo noha,
mit den von Ihnen geleisteten Erklärungen und Hinweisen werde ich die Fragen zum Exiftool erst mal beenden und auf der Basis von „Versuch und Irrtrum“ experimentieren. Im Grunde genommen benötige ich für meine Zwecke ja nur drei oder vier wesentliche Kommandozeilenbefehle, die ich nun einfach üben werde.
Nochmals vielen Dank für Ihre Geduld und Hilfestellungen.
Mit freundlichen Grüßen
alamogordo
Schön, dass Ihre Frage beantwortet wurde!
Um weiterhin auf dem Laufenden zum Thema Technik und PC zu bleiben, nehmen Sie doch kostenlos teil an unseren monatlichen LIVE-Webinaren: hier klicken für Registrierungsseite. Bei diesen Online-Shows können Sie uns all Ihre Fragen rund um das Thema Computer stellen und lernen jeden Monat etwas Neues.
Hallo alamogordo,
das Exiftool kümmert sich nicht um Zeitangaben aus dem Dateisystem. Es kann die Zeit aus den Daten des Bildes (z.B. exif) verwenden, um damit den Dateinamen zu ändern. Wenn Sie die Datei kopieren, bleibt der Name samt dem darin enthaltenen Datum erhalten. Das alles hat nichts mit den Datums- und Zeitangaben im Dateisystem zu tun.
Vielleicht habe ich etwas falsch verstanden!
In den bei Linux gibt es die folgenden Zeitangaben:
1. Zeit des letzten Zugriffs. Egal ob lesend oder schreiben
2. Zeit der Änderung des Inhalts einer Datei – auch wenn die Datei erstmalig geschrieben wird.
3. Zeit der Änderung der Attribute einer Datei. Dazu zählt auch der Dateiname.
Wenn Sie eine Datei kopieren, ändern sich alle Zeitangaben bei der Kopie. Mit dem Kommando touch kann man alle Zeitangabe nach Belieben setzen. Man kann auch den Zeitstempel einer anderen Datei nehmen, beim Kopieren z.B. alle Zeitangaben von der Quelle.
touch -r Quelle Ziel
sorgt dafür, dass die Datei Ziel die Zeitangabe von Quelle bekommt.
Alle Zeitangaben zeigt das Kommando stat. Beispiel auf meinem Rechner
stat ~/Bilder
im Anhang.
VG
noha
Nachtrag zu -y
Bei vielen Kommandos bewirkt die Angabe -y dass es keine Rückfrage gibt und das Programm so abläuft, als würden alle Rückfragen mit y (=ja) beantwortet. Damit werden z.B. Dateien (ohne Nachfragen) überschrieben.
noha
Nachtrag zu welche Version des Exiftoos
Bei der Version 18.04 von Ubuntu wird die Version 10.80 von exiftool installiert.
Bei der Version 20.04 von Ubuntu wird die Version 11.88 von exiftool installiert.
Wenn sich die erste Zahl einer Versionsnummer ändert, hier von 10 auf 11, wurden neue Funktionen eingebaut. Damit besteht die Gefahr, dass eine Beschreibung (für die ältere Version) nicht mehr passt.
noha
Hallo noha,
erst mal vielen Dank für Ihre samstagabendlichen Antwortbeiträge.
Bei dem Teil „Datum“ habe ich wohl mißverständlich formuliert (die Dateien liegen originär auf meinem WIN-PC).
Wenn ich unter WIN Bilder in einen anderen Ordner verschiebe, wird m.W. ein neues Datum ( das des Verschiebens) erzeugt und ist damit nicht mehr identisch zum Aufnahmedatum. Beim „Suchen“ zum Exiftool im Internet wurde darauf hingewiesen. Danach sollte man dies vor dem endgültigen Sortieren (nach Aufnahmedatum) erst mit dem Befehl
„$ exiftool -´filemodifydate
Hallo alamogordo,
dass beim Verschieben oder Kopieren einer Datei das Schreibdatum (bei Windows Anlegedatum) neu gesetzt wird, ist leider üblich. Daher verwende ich das Programm TotalCommander, bei dem man einstellen kann, ob es wie der Dateiexplorer arbeitet oder die ursprünglichen Daturmsangaben setzt.
Ein kostenloser Nachbau des TotalCommander ist das Programm FreeCommander. Wie dieses mit den Zeitangaben umgeht, weiß ich nicht. -> Versuch macht kluch.
Zu exiftool bitte noch mal den ersten Absatz meiner ersten Antwort lesen.
VG
noha
Guten Morgen noha,
danke für den Exkurs zu „Datumsangaben“ – jetzt verstehe ich einiges besser.
Eine Bitte noch: Im Anhang zu meiner ursprünglichen Frage ist ein Exiftool-Befehl beschrieben, der alle Bilder (eines Ordners) chronologisch nach ihrem Aufnahmedatum sortiert. Leider ist der Befehl über zwei Zeilen geschrieben, ich kann nicht nicht genau erkennen, wie sich die Fortsetzung der 2. Zeile (ab ~/Bilder-nach-Datum-sortiert/*) an das Ende der 1. Zeile „.%%e“ anschließt (ohne die „“): Mit oder ohne Leerzeichen?
Außerdem habe ich beim Recherchieren nach Exiftool-Befehlen keine Darstellung gefunden, wo der Befehl in * am Anfang und Ende eingebettet ist. Ich finde nur solche mit einem * am Ende, z.B.
exiftool -P -´Filename
Hallo alamogordo,
glücklicherweise befolgt das Programm die in Linux übliche Schreibweise.
Hinter dem Namen des Programms kommen die Optionen, jeweils durch Leerzeichen und Minuszeichen eingeleitet. Und von den Optionen ebenfalls durch Leerzeichen dann Dateinamen o.ä.
Da Sonderzeichen wie .zB. < vom Kommandointerpreter verarbeitet werden, was aber in diesem speziellen Fall nicht geschehen soll, muss die Option, die das < enthält, in Apostrophe eingeschlossen werden. Ebenfalls wichtig ist die Groß/KLeinschreibung.
Somit hat das obige Beispiel die folgenden Optionen:
-P
-´Filename
Hallo noha,
danke für den letzten Hinweis.
Ich habe den Befehl nun testweise ausprobiert:
– Ordner „Bilder-nach-Datum-sortiert“ neu angelegt
– Einige Handybilder mit unterschiedlichem Aufnahmedatum in diesen Ordner kopiert
– Den Sortierbefehl des Tools angewandt.
Das Ergebnis (s. Screenshot) ist leider nicht wie erwartet, irgendetwas mache ich wohl falsch:
Die Meldung „2017:12:07 : 19:49:01 Befehl nicht gefunden“ referenziert auf das erste Bild im neu angelegten Ordner und ist das Aufnahmedatum des Bildes.
Danke!
Mit freundlichen Grüßen
alamogordo
Hallo alamogordo,
schrieb ich schon mal, dass Leerstellen und alle Sonderzeichen genau zu beachten sind?
Der Fehler ist das Leerzeichen zwischen -d und %Y
VG
noha
Hallo noha,
ich habe einige Eingabebefehle für das Exiftool im Netz recherchiert, um damit zunächst mal zu üben (das Tool zwingt, wie Sie richtig bemerken, zur Sorgfalt bei der Eingabe).
Aber in diesem Fall fühle ich mich „unschuldig“: Ich habe die Vorgaben gem. Anhang befolgt, da ist immer ein Leerzeichen zwischen -d und %Y.
Mit freundlichen Grüßen
alamogordo
Hallo alamogordo,
entweder ist mein Bildschirm zu klein oder meine Brille taugt nicht mehr. Ich hatte bei Ihrem Bildschirmfoto übersehen, dass Sie vor dem Kommando exiftool einen Stern getippt hatten. Der Stern veranlasst den Kommandointerpreter alle Dateien im aktuellen Verzeichnis (hier im Homeverzeichnis) anstelle des Sterns zu setzen und dann exiftool und seine Parameter ans System zur Ausführung zu geben. Was dann passiert, weiß ich nicht, weil ich die Dateien im Ihrem Homeverzeichnis nicht kenne und vermutlich nicht alle Dateien ausführbar sind.
Die von mir bemängelte Leerstelle überrascht mich etwas, weil es den Konventionen des Kommandointerpreters widerspricht. Und diese sind schon über 50 Jahr alt!
VG
noha
Hallo alamogordo,
wenn man Kommandozeilen-Tools wie das EXIFTool erst einmal beherrscht, geht alles schnell und elegant. Manche Nutzer verwenden aber lieber grafische Oberflächen, dann ist das Javaprogramm Beantwortete Frage von dirkkleemann Mai 13, 2020
Hallo noha, hallo Herr Kleeman,
auf das Tool Amok Exif Sorter wollte ich auch schon ausweichen. Aber vorher bitte noch eine Erklärung zu Exiftool:
Wenn ich jetzt einen neuen Sortierungsversuch mit einem völlig anderen Bildordner starte, kommt wieder dieser ominöse Hinweis „2017:12:07 19:49:09 : Befehl nicht gefunden“ (siehe Screenshot). Der hat aber nichts mit dem Sortierungsordner zu tun, diese Datum/Zeitangabe kommt darin überhaupt nicht vor (habe ich den jetzt ins System „gemeißelt“?).
Noch zu Exiftool: Mir ist klar, daß zur Beherrschung viel Übung nötig ist. Aber das schreckt mich eigentlich nicht ab, denn – wie Sie anmerken – es ist dann schnell und elegant- und ich habe Zeit zum Üben (und etwas Ehrgeiz, trotz meines Alters).
Mit freundlichen Grüßen
alamogordo
Hallo alamogordo,
das Problem liegt an dem Stern, den Sie vor dem Wort exiftool eintippen. Der darf da nicht sein. Der Stern wird vom Kommandointerpreter durch Dateinamen ersetzt, die er im Arbeitsverzeichnis findet.
Was da gefunden wird, können Sie durch das Kommando
ls
anzeigen lassen. Der erste Buchstaben in ein kleines L.
VG
noha
Nachtrag:
Im Anhang habe ich mal das Programm für 3 Bilder laufen lassen. Als erstes habe ich das Kommando
ls -l
eingegeben, das die vorhandenen Dateien anzeigt.
Als zweites Kommando habe ich das exiftool aufgerufen und zwar so, wie Sie es benutzen möchten. Aber mit der Ausnahme, dass ich nicht alle Bilder umbenennen wollte, sondern nur Dateien, deren Name mit dem Unterstrich anfangen. Das erledigt die Angabe _*
Das exiftool hat die Änderungen quittiert mit dem Text
3 image files updated
Die Wirkung des Sterns hatte ich ja schon beschreiben.
Als dritten Kommando habe ich nochmals die Dateien aufgelistet, um die Änderung zu zeigen.
VG
noha
Hallo noha,
vielen Dank für Ihre 2 Beiträge, ich werde das mal „üben“.
im Netz habe ich auf einer Seite zum Tool unter der Überschrift „Bilder nach Datum in Ordner einsortieren“ folgenden Befehl gefunden:
exiftool -ext jpg -ext jpeg ´-Directory<${DateTimeOriginal}´ -d ´/Pfad/Ziel/%Y/%m/%d -r ´/Pfad/Quelle/´ # 2-mal den Pfad eingeben (wenn man die Bilder im gleichen Ordner sortieren will, nach Jahren). Was bewirkt das r (steht für "rekursiv"), ist seine Eingabe zwingend? "Pfad/Quelle": Ist damit der Quellordner gemeint (Pfad/Ziel gleich Zielordner)? Wenn meine Fragerei nervt - bitte äußern!!! Mit freundlichen Grüßen alamogordo
Hallo alamogordo,
die Fragen nerven nicht. Ich finde es spanned, wie Leute lernen. Lernen hält das Gehirn fit, unabhängig vom Alter. Grundsätzlich wird in der Natur abgebaut, was nicht benutzt wird, Muskeln, Knorpel, Gehirn. Ein Bekannter von mir gab im Alter von 92 Jahren noch Geigen- und Klavierunterricht.
Zur Verwendung von exiftool:
Maßgebend ist immer das „Handbuch“, englisch manual page, Linux-Kommando man
Wenn man
man exiftool
als Kommando eingibt, bekommt man eine für alle Linux-Kommandos standardisierte Beschreibung. Im Abschnitt SYNOPSIS werden verschiedene Arten des Aufrufs (=Arbeitsweise) beschrieben. Da sieht man, dass die Reihenfolge der Parameter (also das, was nach dem Wort exiftool geschrieben wird) festlegt, wie die Eingabe interpretiert wird.
Wenn exiftool zum Lesen von Bilddaten verwendet wird, ist die Reihenfolge
exiftool [OPTIONS] [-TAG...] [--TAG...] FILE...
Bei den Optionen kann man dem Programm mitteilen, wie die Ausgabe zu formatieren ist. Zum Beispiel ob beim Datum das Jahrhunder und auch die Uhrzeit auszugegen ist.
Optionen haben nahezu alle Kommandos in Linux.
-TAG (gehört rein formal zu den Optionen) beschreibt, welche Einträge (engl. TAG) aus den Bildern auszulesen sind. Zum Beispiel Zeit, Ort, Belichtungszeit usw.
–TAG gibt an, was nicht auszulesen ist.
Alles, was keine Option ist, also kein Minuszeichen von einem Buchstaben hat, wird als Datei oder Ordner aufgefasst. Hierhin passt Ihre Frage nach der Option -r
Ein Ordner kann ja Unterordner beinhalten. Wenn man -r angibt, durchsucht exiftool auch alle Unterordner. Wenn man -r nicht angibt, werden nur Dateien im angegebenen Ordner verarbeitet. Daher -r ist zwar nicht zwingend, aber man muss es richtig anwenden.
VG
noha