exiftool: supprime les données exif mais conserve certaines balises spécifiques

10

Actuellement, j'utilise exiftool avec l' option -all = et il supprime toutes les données EXIF ​​de mes photos:

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

Maintenant, je veux que exiftool supprime toutes les informations EXIF, mais PAS le titre, la légende et les mots clés de la photo.

Comment puis-je y parvenir?

Poney Reborn ensoleillé
la source

Réponses:

7

Vous devriez toujours consulter les pages de manuel si vous avez des problèmes.

man exiftools

Qui devrait lire quelque chose comme ceci:

--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.

Quelque chose comme:

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

devrait marcher. Assurez-vous que les balises sont vraiment nommées de cette façon en utilisant exif /path/to/file.jpg.

Que fait la commande? -all=supprime toutes les balises, -tagsFromFile @prend les drapeaux listés du fichier source, dans ce cas @représente le fichier actuel, (vous pouvez bien sûr le remplacer par un fichier fixe ici comme -tagsFromFile pic.jpg) et les écrit dans la destination.

Baarn
la source
PS ma légende est également supprimée (avec le paramètre -caption), est-il possible de la conserver?
Remus Rigo
1

Si vous souhaitez uniquement supprimer certaines balises du fichier d'origine (c'est-à-dire pas de transfert de balises entre les fichiers, mais à partir du même fichier), vous n'avez pas besoin du -tagsFromFilecommutateur, mais d'un <pour dire de les transférer le long du fichier.

Remarque: à partir de maintenant (version 10.79) -common<commonne peut pas définir de balises composites et donc utiliser -commonpour transférer des balises va casser des choses, par exemple le transfert Flashvers Model. Par conséquent, mon code est explicite et inclut toutes les balises qui -commondevraient normalement inclure. Semble être une bonne idée de toute façon.

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

Veuillez également noter que mon code contredit la documentation de l'application exiftool , qui comprend des exemples que je n'ai tout simplement pas pu travailler avec cette tâche (et la version 10.79).

flolilo
la source
-3

Pour supprimer toutes les données à l'aide de l'outil exif:

Renommer exiftool(-k).exeen

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

Cela résout de nombreux problèmes

Bonjour
la source