Meine frühen Fotos (Canon G2) sind alle JPG-Bilder, aber als ich meine Nikon D90 bekam, habe ich zuerst JPG-Bilder aufgenommen, dann auf RAW + JPG umgestellt, und jetzt möchte ich nur noch auf RAW umstellen.
Ich habe buchstäblich Tausende von Fotos auf meiner Festplatte. Die Fotos befinden sich in Unterverzeichnissen (nach Datum) in einem einzigen Verzeichnis namens Import.
Ich bin dabei, alle diese Fotos in Lightroom 3.0 zu importieren. Ich möchte jedoch alle JPG-Dateien löschen, jedoch nur, wenn bereits eine entsprechende RAW-Datei vorhanden ist (dh ich möchte JPG- und RAW-Versionen nicht mehr beibehalten Datei).
Wenn ich das problemlos in Lightroom machen kann (nachdem ich alles importiert habe, einschließlich der doppelten JPG-Dateien), wäre das großartig. Es wäre auch in Ordnung, wenn es eine einfache Möglichkeit gäbe, dies vor dem Importieren der Dateien zu tun (dies würde jedoch hoffentlich nicht bedeuten, jedes Verzeichnis nach Dateinamen mit JPG- und NEF-Erweiterungen durchsuchen zu müssen).
Kennt jemand eine Möglichkeit, dies zu tun (in Lightroom oder mit einem Tool / Skript in Windows)?
Antworten:
Gehen Sie unter Windows zu dem Ordner und führen Sie diesen in einer Eingabeaufforderung aus:
Im Grunde geht es durch den aktuellen Ordner, läuft durch die NEF-Dateien und löscht die JPG, falls vorhanden. Es ignoriert alle Fehler, wenn das JPG nicht vorhanden ist.
Wenn Sie Unterordner möchten, fügen Sie diese
/s
demdir
Befehl hinzu.quelle
Hier ist eine modifizierte Version von Tomys Python-Skript . Unterschiede:
quelle
#!/usr/bin/env python
jedoch am Anfang einfügen. Ansonsten hatte ich seltsame ImageMagick-Fehler (mein Mac scheint .py-Dateien mit ImageMagick zu öffnen).jPg
. Es funktioniert auch nicht, wenn sich Dateien auf einer externen Festplatte befinden und sich in einem Abfallverzeichnis befinden, z/home
. B. in dir.Hier ist ein Python-Skript , das
JPG
Dateien verschiebt , wenn keine entsprechendeRAW
Datei vorhanden ist. Nützlich unter Mac OS X !quelle
Soweit ich weiß, könnte das Vorschaubild in Lightroom RAW + JPG lauten, aber das JPG ist in keiner Weise gespeichert oder zugänglich.
Sie können auch ein ziemlich einfaches Stapelskript mit jeder Programmiersprache schreiben.
quelle
Ich mag das Bash-Skript für OS X (von T. Toivonen ), aber ich habe festgestellt, dass es einige Probleme gibt.
Es hat mir nicht gefallen, meine Verzeichnisnamen, die Leerzeichen enthalten. Das erforderte eine etwas andere Behandlung des Find-Befehls.
Das ursprüngliche Skript funktioniert nur für Erweiterungen in Kleinbuchstaben. Ich habe diesen Teil des Skripts leicht verbessert, um auch großgeschriebene Erweiterungen zu berücksichtigen. Beachten Sie, dass nur
DNG+JPG
oderdng+jpg
Paare akzeptiert werden und Kombinationen wieDNG+jpg
oder ignoriert werdenDnG+JpG
.Die ursprüngliche Lösung schlug nur einen
wastedir
Speicherort vor, während mein Fix das Erstellen eines Unterverzeichnisses in jedem Verzeichniszweig während des Transports ermöglicht. Sie definieren einen Namen des Verzeichnisses vor der Schleife.Ich mag , um zu sehen , was los ist , vor allem , wenn
mv
oderrm
Befehle verwendet werden;)Aus Gründen des Raumes ich nur den letzten Teil des Skripts zeigt bin, von einer Einstellung
basedir
,wastedir
und die Schleife.quelle
Hier ist eine Lösung für
bash
(Linux oder Mac OS X). Unter Windows können Sie Cygwin installieren , um eine Kopie von zu erhaltenbash
.quelle
Hier ist eine andere
bash
Version mitfind
(Linux). Wie bei Ben Pingilleys Antwort können Sie Cygwin installieren , um Bash unter Windows zu erhalten.quelle
Hier ist meine Meinung zu diesem Thema. Viele gute Ideen kamen aus früheren Skripten, die hier erwähnt wurden.
Dies ist ein Bash - Skript für OS X . Es wird nach Dateien gesucht, die denselben Basisdateinamen und dieselben
dng+jpg
Erweiterungen haben. Wenn ajpg
mit genau demselben Namen wie gefunden wirddng
, wird dieser Dateiname angezeigt (-e
), die Datei wird verschoben (-m
) oder gelöscht (-d
).Es werden Unterordner durchsucht, sodass Sie es für Ihren gesamten Katalog oder nur für Teile davon verwenden können.
Für andere unformatierte Dateierweiterungen ersetzen Sie diese einfach
*.dng
im Skript durch Ihre bevorzugte Erweiterung.Warnung: Sie können zwei verschiedene Bilder mit demselben Namen, aber unterschiedlicher Erweiterung haben. Das sind unvermeidliche Opfer dieses Skripts.
So verwenden Sie das Skript:
Die grundlegende Verwendung würde folgendermaßen aussehen:
Das würde alle Dateinamen von
jpg
Dateien wiedergeben, die den Kriterien von beidem entsprechen,dng
undjpg
Dateien mit demselben Namen.Das Ergebnis würde ungefähr so aussehen:
Wenn ich nun die Dateien löschen möchte, wechsle ich einfach
-e
zu-d
:Oder wenn ich die Dateien nach / duplizieren möchte, führe ich sie mit aus
-m
.Jetzt
jpg
wären die doppelten Dateien in/Volumes/photo/DNG/2015/duplicates
Hier ist das Skript: dng-jpg.sh
quelle
Hier ist ein
bash
Skript für Mac OS X . Es kann unter Linux mit einigen Änderungen funktionieren.rmtrash
ist ein Dienstprogramm, das Dateien in den Papierkorb verschiebt, anstatt sie sofort zu löschen. Sie können es von MacPorts folgendermaßen erhalten:Wenn Sie das vermeiden möchten, ersetzen Sie einfach
rmtrash
im Skript durchrm
, wodurch dieJPG
Dateien sofort gelöscht werden.quelle
Ich habe das folgende Python-Skript geschrieben . Verglichen mit dem Skript von ttaveira leistet es zusätzliche Arbeit.
quelle
Bei der Arbeit mit Mac OS X fehlte mir in den vorherigen Antworten eine Überprüfung auf "gleichen Inhalt". Ich hatte doppelte Namen für verschiedene Bilder, weil ich vergessen hatte, den Bildzähler in meiner Kamera zu aktivieren. Hier ist meine Version, die die EXIF-Informationen auf die gleiche Aufnahmezeit überprüft:
Du musst rennen
bevor Sie den folgenden Befehl verwenden können. Es wurde geschrieben, um
JPG
mitNEF
Dateien von meiner Nikon D90 zu vergleichen . Passen Sie die Dateierweiterungen an Ihre Bedürfnisse an.Ohne die Vernunftsprüfung würde das Ganze zu einem sehr kurzen One-Liner:
quelle