exiftool: Löscht exif-Daten, behält aber einige bestimmte Tags bei

10

Derzeit verwende ich exiftool mit der Option -all = und löscht alle EXIF-Daten aus meinen Fotos:

exiftool -overwrite_original -all= /Users/andyl/photos/*.jpg

Jetzt möchte ich, dass exiftool alle EXIF-Informationen löscht, jedoch NICHT den Titel, die Beschriftung und die Schlüsselwörter des Fotos.

Wie kann ich das erreichen?

Sonniges wiedergeborenes Pony
quelle

Antworten:

7

Sie sollten immer die Manpages überprüfen, wenn Sie in Schwierigkeiten sind.

man exiftools

Welches sollte so etwas lesen:

--TAG

    Exclude specified tag from extracted information.  Same as the -x
    option.  May also be used following a -tagsFromFile option to
      exclude tags from being copied, or to exclude groups from being
    deleted when deleting all information (ie. "-all= --exif:all"
    deletes all but EXIF information).  But note that this will not
    exclude individual tags from a group delete.  Instead, individual
    tags may be recovered using the -tagsFromFile option (ie. "-all=
    -tagsfromfile @ -artist").  Wildcards are permitted as described
    above for -TAG.

Etwas wie:

exiftool -overwrite_original -all= -tagsFromFile @ -title -caption -keywords /Users/andyl/photos/*.jpg

sollte arbeiten. Stellen Sie sicher, dass die Tags wirklich so benannt sind exif /path/to/file.jpg.

Was macht der Befehl? -all=löscht alle Tags, -tagsFromFile @nimmt die aufgelisteten Flags aus der Quelldatei, stellt in diesem Fall @die aktuelle Datei dar (Sie können diese natürlich hier durch eine feste Datei ersetzen -tagsFromFile pic.jpg) und schreibt sie an das Ziel.

Baarn
quelle
PS: Meine Beschriftung wird ebenfalls gelöscht (mit dem Parameter -caption). Gibt es eine Möglichkeit, sie beizubehalten?
Remus Rigo
1

Wenn Sie nur bestimmte Tags aus der Originaldatei löschen möchten (dh keine Übertragung von Tags zwischen Dateien, sondern aus derselben Datei), benötigen Sie nicht den -tagsFromFileSchalter, sondern eine <Anweisung, um sie entlang der Datei zu übertragen.

Hinweis: Ab sofort (Version 10.79) -common<commonkönnen keine zusammengesetzten Tags-common festgelegt werden . Wenn Sie also Tags übertragen, werden die Dinge beschädigt, z . B. das Übertragen Flashauf Model. Daher ist mein Code explizit und enthält jedes Tag, -commondas normalerweise enthalten würde. Scheint sowieso eine gute Idee zu sein.

exiftool -All:All= \
         -DateTimeOriginal<DateTimeOriginal \
         -Model<Model \
         -LensModel<LensModel \
         -FocalLength<FocalLength \
         -ISO<ISO \
         -ExposureTime<ExposureTime -ShutterSpeedValue<ShutterSpeedValue -BulbDuration<BulbDuration \
         -ApertureValue<ApertureValue -FNumber<FNumber \
         -WhiteBalance<WhiteBalance \
         -Flash<Flash \
         test.jpg
  # Or, if you want to use `-TagsFromFile`:
exiftool -All:All= \
         -TagsFromFile test.jpg \
         -DateTimeOriginal \
         -Model \
         -LensModel \
         -FocalLength \
         -ISO \
         -ExposureTime -ShutterSpeedValue -BulbDuration \
         -ApertureValue -FNumber \
         -WhiteBalance \
         -Flash \
         test.jpg

Bitte beachten Sie auch, dass mein Code der exiftool-Anwendungsdokumentation widerspricht , die Beispiele enthält, mit denen ich mit dieser Aufgabe (und Version 10.79) einfach nicht arbeiten konnte.

flolilo
quelle
-3

So löschen Sie alle Daten mit dem Exif-Tool:

Umbenennen exiftool(-k).exein

exiftool (-overwrite_original -all= -k).exe

Dies löst viele Probleme

Hallo
quelle