多想幾天,可以不用重新發明輪子。 :p
這次出國玩,因為臨時決定買了 G7X Mark II,出國前一天興沖沖地設定日期。玩到一半備份到電腦裡,才發現都錯了,我把月日設反了。本來想自己寫程式來改,網路上找了一陣子後,忙工作的事就忘了。這幾天告一段落,又重新再找,然後就發現我一直都有 ExifTool ,而它直接就可以做到我要的事了。
Have you ever forgotten to set the date/time on your digital camera before taking a bunch of pictures? ExifTool has a time shift feature that makes it easy to apply a batch fix to the timestamps of the images.
簡單說,要做的事有兩個,修正時區以及日期:
- 首先參考 ExifTool CheatSheet
- 測試 G7X 拍出來的 jpeg/raw 檔發現, timezone 是存在 Canon:Timezone 的 tag ,不影響實際的讀取;白話地說, Shift 時間要自己加一小時(日本是 +9)
- 因為我在中間,有把時區修正(但是日期完全沒注意….),所以照片是分兩批要操作
首先對於 +9 的照片先做修正…
1 2 3 4 5 |
% exiftool "-AllDates+=0:0:118 0" -P -if '$timezone eq "+09:00"' . 1 directories scanned 295 files failed condition 362 image files updated |
對於 +8 的照片修正就是…
1 2 3 4 5 |
% exiftool "-AllDates+=0:0:118 1" "-timezone=+09:00" -P -if '$timezone eq "+08:00"' . 1 directories scanned 362 files failed condition 295 image files updated |
結案。