如何批次更改JPEG照片檔案的exif資料(相機中設定的日期錯誤)?

如何批次更改JPEG照片檔案的exif資料(相機中設定的日期錯誤)?

我在一次活動中拍了 300 張照片。後來我發現相機中的日期設定不正確——休息了一天。文件中有大量 EXIF 數據,而不僅僅是創建日期。

如何僅更改所有相關 EXIF 欄位中包含的日期以更正日期(正好減去一天)?

此修改不應更改其他數據!

也許對於每個文件,我可以轉儲資料(exiftoolexiv2?),然後修改轉儲(用awk?),然後從修改後的轉儲中替換 EXIF 資料?但如何呢?

編輯:

每個文件有很多數據:

# exiftool IMG_9040.JPG | wc 
    289    2218   13996

很多都是日期:

# exiftool IMG_9040.JPG | grep 2021 | grep -v File
Modify Date                     : 2021:11:02 17:06:58
Date/Time Original              : 2021:11:02 17:06:58
Create Date                     : 2021:11:02 17:06:58
Create Date                     : 2021:11:02 17:06:58.24+01:00
Date/Time Original              : 2021:11:02 17:06:58.24+01:00
Modify Date                     : 2021:11:02 17:06:58.24+01:00

我希望改變這一切。

答案1

Exiftool有一個-alldates參數:

exiftool -alldates-=24 -filemodifydate-=24 -filecreatedate-=24   *.jpg

根據此論壇評論(由 Phil Harvey 撰寫),上述代碼可減去 24 小時:

https://exiftool.org/forum/index.php?topic=6330.msg31354#msg31354

您可以將上述程式碼與-out檔案規格結合起來,例如-out ./newJPG.jpg或 (在新目錄中),以及-out ./newdir/newJPG.jpg.-out調用後直接插入規範exiftool

您也可以嘗試新增至-out文件規範(備份後!),選項-overwrite_originalOR -overwrite_original_in_place,直接插入到 的呼叫之後exiftoolexiftool --help詳情請參閱。

請注意,本文的早期版本建議使用該 -globalTimeShift參數,如下所示:

exiftool -globalTimeShift -24 -time:all  *.jpg

然而(根據菲爾哈維的說法),-globalTimeShift僅當您想要將移位的日期/時間值複製到另一個標籤時才需要該選項。”,例如-geo標籤。看:

https://exiftool.org/forum/index.php?topic=9224.msg47655#msg47655
https://exiftool.org/forum/index.php?topic=6330.msg31354#msg31354

https://exiftool.org/exiftool_pod.html
https://exiftool.org/

答案2

您可以輸入:

exiftool -EXIF:CreateDate+=24 img.jpg

要加24小時。

相關內容