exiftool: elimina datos exif pero conserva algunas etiquetas específicas

10

Actualmente uso exiftool con el -todas = opción y borra todos los datos EXIF de mis fotos:

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

Ahora quiero que exiftool elimine toda la información EXIF ​​pero NO el título, el título y las palabras clave de la foto.

¿Cómo puedo lograr esto?

Sunny Reborn Pony
fuente

Respuestas:

7

Siempre debe consultar las páginas de manual si tiene problemas.

man exiftools

Que debería leer algo como esto:

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

Algo como:

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

Deberia trabajar. Asegúrese de que las etiquetas se denominen realmente de esta manera exif /path/to/file.jpg.

¿Qué hace el comando? -all=elimina todas las etiquetas, -tagsFromFile @toma los indicadores enumerados del archivo de origen, en este caso @representa el archivo actual (por supuesto, podría sustituirlo por un archivo fijo aquí -tagsFromFile pic.jpg) y los escribe en el destino.

Baarn
fuente
PD: mi título también se elimina (con el parámetro -caption), ¿hay alguna forma de mantenerlo?
Remus Rigo
1

Si solo desea eliminar ciertas etiquetas del archivo original (es decir, no hay transferencia de etiquetas entre archivos, sino desde dentro del mismo archivo), no necesita el -tagsFromFileinterruptor, sino una <indicación para transferirlas a lo largo del archivo.

Nota: A partir de ahora (versión 10.79) -common<commonno se pueden establecer etiquetas compuestas y, por lo tanto, el uso -commonpara transferir etiquetas romperá las cosas, por ejemplo, transferir Flasha Model. Por lo tanto, mi código es explícito e incluye todas las etiquetas que -commonnormalmente incluiría. Parece ser una buena idea, de todos modos.

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

Tenga en cuenta también que mi código contradice la documentación de la aplicación exiftool , que incluye ejemplos que simplemente no pude trabajar con esta tarea (y la versión 10.79).

flolilo
fuente
-3

Para eliminar todos los datos con la herramienta exif:

Renombrar exiftool(-k).exea

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

Esto resuelve muchos problemas

Hola
fuente