exiftool: удалить данные exif, но сохранить некоторые конкретные теги

В настоящее время я использую exiftool с - all= опция, и она удаляет все данные EXIF из моих фотографий:

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

теперь я хочу, чтобы exiftool удалил всю информацию EXIF, но не заголовок, подпись и ключевые слова фотографии.

Как я могу этого достичь?

29
задан Breakthrough
30.03.2023 8:22 Количество просмотров материала 3475
Распечатать страницу

3 ответа

вы всегда должны проверять справочные страницы, если у вас проблемы.

man exiftools

что должен читать что-то вроде этого:

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

что-то типа:

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

должны работать. Убедитесь, что теги действительно названы таким образом с помощью exif /path/to/file.jpg.

команды? -all= удаление всех тегов -tagsFromFile @ принимает указанные флаги из исходного файла, в данном случае @ представляет текущий файл, (вы можете конечно заменить на исправлен файл здесь, как -tagsFromFile pic.jpg) и записывает их в пункт назначения.

5
отвечен Baarn 2023-03-31 16:10

если вы хотите удалить только некоторые теги из исходного файла (т. е. не переносить теги из одного файла в другой), вам не нужен -tagsFromFile переключатель, но < сказать передать их вдоль файла.

Примечание: на данный момент (версия 10.79)-common<common не установлено композитный теги и поэтому, используя -common для передачи тегов сломает вещи, например, tranferring Flash to Model. Таким образом, мой код явные и включает в себя каждый тег -common обычно включают. В любом случае, это хорошая идея.

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

обратите внимание что мой код противоречит exiftool документация по применению, который включает в себя образцы, которые я просто не мог получить, чтобы работать с этой задачей под рукой (и версия 10.79).

1
отвечен flolilolilo 2023-03-31 18:27

чтобы удалить все данные с помощью инструмента exif:

переименовать exiftool(-k).exe до

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

Это решает многие проблемы

-3
отвечен Hello 2023-03-31 20:44

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх