Ich habe eine große Menge an Bildern erhalten. Einige in Graustufen, andere in Farbe. Sie sind alle in einer Mischung aus TIFF, PNG, JPEG usw. Sie befinden sich alle auf meinem lokalen Laufwerk.
Mein Ziel besteht darin, diese Bilder nach Farbpalette (nur nach Graustufen oder vollständig in Farbe), nach Bildgröße (Breite und Höhe), nach Dateigröße usw. in verschiedene Verzeichnisse zu trennen.
Es gibt keine Anforderung an die Verarbeitungsreihenfolge, da ich eine Filterung benötige, die and
auf alle gewünschten Regeln angewendet wird. Also nur Bilder, die allen Kriterien entsprechen.
Wie automatisiere ich das?
Antwort1
ExifToolsollte Ihren Anforderungen entsprechen. Es istimmensleistungsstark, unterstützt eine große Anzahl vonDatentypenUndMetatagsund ermöglicht komplexe bedingte Perl-Ausdrücke und Konfigurationsdateien basierend auf Tags und verschiedenen anderen Kriterien. Ich empfehle Ihnen, denDokumentationvollständig, vor allem dieAbschnittwidmet sich dem Umbenennen von Dateien und dem Erstellen von Zielverzeichnissen basierend auf benutzerdefinierten Kriterien. Und schließlich, wenn Sie jemals verwirrt sind oder nicht weiterkommen, dann posten Sie auf derForumwird Ihnen sicher weiterhelfen, da die Entwickler und die Community sehr hilfsbereit sind.
Als kleines und recht einfaches Beispiel verschiebt der folgende Befehl alle erkannten Bilddateien, dieentwedereine Breite von 1024pxoderHöhe von 480pxUnd(in beiden Fällen) eine Dateigröße von weniger als 200 KB in ein Verzeichnis (das bei Bedarf erstellt wird) mit dem Namen Moved
:
exiftool -if "((($ImageWidth==1024) || ($ImageHeight==480)) && ($FileSize#<204800))" -directory=Moved *.*
Hinweis: Hier folgt auf $ ein Tag-Name und # wird optional angehängt, um die Druckkonvertierung zu deaktivieren (d. h. um das numerische Format für die Dateigröße anstelle eines für Menschen lesbaren Formats wie KB, MB usw. zu verwenden). Auch hier wird alles in der Dokumentation erklärt.