exiftool: xóa dữ liệu exif nhưng bảo tồn một số thẻ cụ thể


10

Hiện tại tôi sử dụng exiftool với tùy chọn -all = và nó xóa tất cả dữ liệu EXIF ​​khỏi ảnh của tôi:

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

Bây giờ tôi muốn exiftool xóa tất cả thông tin EXIF ​​nhưng KHÔNG phải tiêu đề, chú thích và từ khóa của ảnh.

Làm thế nào tôi có thể đạt được điều này?

Câu trả lời:


7

Bạn nên luôn luôn kiểm tra các trang người đàn ông nếu bạn gặp rắc rối.

man exiftools

Mà nên đọc một cái gì đó như thế này:

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

Cái gì đó như:

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

nên làm việc. Đảm bảo rằng các thẻ thực sự được đặt tên theo cách này bằng cách sử dụng exif /path/to/file.jpg.

Lệnh này làm gì? -all=xóa tất cả các thẻ, -tagsFromFile @lấy các cờ được liệt kê từ tệp nguồn, trong trường hợp này @đại diện cho tệp hiện tại, (tất nhiên bạn có thể thay thế bằng một tệp cố định ở đây như -tagsFromFile pic.jpg) và ghi chúng vào đích.


PS chú thích của tôi cũng bị xóa (với tham số -caption), có cách nào để giữ nó không?
Remus Rigo

1

Nếu bạn chỉ muốn xóa một số thẻ nhất định khỏi tệp gốc (nghĩa là không chuyển từ thẻ giữa các tệp, nhưng từ trong cùng một tệp), bạn không cần -tagsFromFilechuyển đổi, nhưng <phải nói để chuyển chúng dọc theo tệp.

Lưu ý: Kể từ bây giờ (phiên bản 10.79) -common<commonkhông thể đặt thẻ tổng hợp và do đó, việc sử dụng -commonđể chuyển thẻ sẽ phá vỡ mọi thứ, ví dụ: chuyển Flashsang Model. Do đó, mã của tôi là rõ ràng và bao gồm mọi thẻ -commonthường bao gồm. Dường như là một ý tưởng tốt.

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

Cũng xin lưu ý rằng mã của tôi mâu thuẫn với tài liệu ứng dụng exiftool , bao gồm các mẫu mà đơn giản là tôi không thể làm việc với nhiệm vụ này trong tay (và phiên bản 10.79).


-3

Để xóa tất cả dữ liệu bằng công cụ exif:

Đổi tên exiftool(-k).exethành

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

Điều này giải quyết được nhiều vấn đề

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.