exiftool: ลบข้อมูล exif แต่เก็บแท็กบางอย่างไว้


9

ขณะนี้ฉันใช้ exiftool พร้อมด้วยตัวเลือก-all =และจะลบข้อมูล EXIF ​​ทั้งหมดจากภาพถ่ายของฉัน:

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

ตอนนี้ฉันต้องการให้ exiftool ลบข้อมูล EXIF ​​ทั้งหมด แต่ไม่ใช่ชื่อคำอธิบายภาพและคำหลักของรูปภาพ

ฉันจะบรรลุสิ่งนี้ได้อย่างไร

คำตอบ:


6

คุณควรตรวจสอบ man pages ทุกครั้งหากคุณมีปัญหา

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) และเขียนไปยังปลายทาง


PS คำบรรยายภาพของฉันถูกลบด้วย (ด้วยพารามิเตอร์ -caption) มีวิธีใดบ้างที่จะรักษาไว้?
รีมัส Rigo

1

หากคุณต้องการลบแท็กบางไฟล์จากไฟล์ดั้งเดิม (เช่นไม่มีการถ่ายโอนจากแท็กระหว่างไฟล์ แต่จากภายในไฟล์เดียวกัน) คุณไม่จำเป็นต้องใช้-tagsFromFileสวิตช์ แต่ a <เพื่อบอกให้ถ่ายโอนไปตามไฟล์

หมายเหตุ:ณ ตอนนี้ (เวอร์ชั่น 10.79) -common<commonไม่สามารถตั้งค่าแท็กผสมได้ดังนั้นการใช้-commonเพื่อถ่ายโอนแท็กจะทำให้สิ่งต่าง ๆเสียหายเช่นการโอนFlashไปที่ 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)


-3

ในการลบข้อมูลทั้งหมดโดยใช้เครื่องมือ exif:

เปลี่ยนชื่อexiftool(-k).exeเป็น

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

วิธีนี้จะช่วยแก้ปัญหามากมาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.