exiftool: exclua os dados exif, mas preserve algumas tags específicas

8

Atualmente, uso exiftool com a opção -all = e exclui todos os dados EXIF das minhas fotos:

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

Agora, quero que o exiftool exclua todas as informações EXIF, mas NÃO o título, a legenda e as palavras-chave da foto.

Como posso conseguir isso?

    
por Sunny Reborn Pony 19.07.2012 / 10:20

3 respostas

5

Você deve sempre verificar as man pages se estiver com problemas.

man exiftools

Qual deve ser algo assim:

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

deve funcionar. Certifique-se de que as tags realmente sejam nomeadas dessa forma usando exif /path/to/file.jpg .

O que o comando faz? -all= exclui todas as tags, -tagsFromFile @ pega os sinalizadores listados do arquivo de origem, nesse caso, @ representa o arquivo atual (você pode obviamente substituir por um arquivo fixo aqui como -tagsFromFile pic.jpg ) e os grava para o destino.

    
por 19.07.2012 / 11:15
1

Se você quiser excluir apenas determinadas tags do arquivo original (ou seja, nenhuma transferência de tags entre arquivos, mas de dentro do mesmo arquivo), não será necessário o -tagsFromFile switch, mas < para informar ao transferi-los ao longo do arquivo.

Nota: A partir de agora (versão 10.79) -common<common não pode definir composite tags e, portanto, usar -common para transferir tags quebrará as coisas, por exemplo transferindo Flash para Model . Portanto, meu código é explícito e inclui todas as tags que -common normalmente incluiria. Parece ser uma boa ideia, de qualquer forma.

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

Observe também que meu código contradiz o exiftool documentação da aplicação , que inclui amostras que simplesmente não consegui trabalhar com esta tarefa (e versão 10.79).

    
por 17.02.2018 / 19:36
-3

Para excluir todos os dados usando a ferramenta exif:

Renomeie exiftool(-k).exe para

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

Isso resolve muitos problemas

    
por 16.07.2014 / 18:59