[Mac] exiftool 有時讀不到圖片檔的建立日期…
之前寫了一個小程式,用 exiftool 幫忙將拍的照片重新命名,
依靠的是圖片檔裡 EXIF 儲存的建立日期 CreateDate:
exiftool -P -r "-FileName<CreateDate" -d "${DST_FOLDER}/%Y/[%Y.%m.%d] xxx/%Y%m%d_%H%M%S%%-c.%%e" "${SRC_FOLDER}"
不過最近發現,在處理某些圖片檔時,
exiftool 會出現 No writable tags 的錯誤訊息:
Warning: No writable tags set from /Users/testuser/20180101_084546.JPG
用 exiftool -time:all 可以列出所有與日期相關的標籤,
可以發現,有些圖檔有許多標籤,但有些圖檔很少,
也找不到 CreateDate 標籤,所以 exiftool 才會出現錯誤:
testuser@localhost ~ $ exiftool -time:all -s *.JPG ======== 20180107_164847.JPG FileModifyDate : 2018:01:08 00:45:01+08:00 FileAccessDate : 2018:01:08 00:45:13+08:00 FileInodeChangeDate : 2018:01:08 00:45:01+08:00 ModifyDate : 2018:01:07 16:48:47 DateTimeOriginal : 2018:01:07 16:48:47 CreateDate : 2018:01:07 16:48:47 SubSecTimeOriginal : 288 SubSecTimeDigitized : 288 GPSTimeStamp : 08:48:44 GPSDateStamp : 2018:01:07 ProfileDateTime : 2017:07:07 13:22:32 GPSDateTime : 2018:01:07 08:48:44Z SubSecCreateDate : 2018:01:07 16:48:47.288 SubSecDateTimeOriginal : 2018:01:07 16:48:47.288 ======== 20180101_084546.JPG FileModifyDate : 2018:01:01 08:45:46+08:00 FileAccessDate : 2018:01:08 01:04:30+08:00 FileInodeChangeDate : 2018:01:08 01:04:28+08:00 ======== 20180101_084546.PNG FileModifyDate : 2018:01:01 08:45:46+08:00 FileAccessDate : 2018:01:08 01:02:20+08:00 FileInodeChangeDate : 2018:01:07 20:49:35+08:00 ProfileDateTime : 2017:07:07 13:22:32 DateCreated : 2018:01:01 08:45:46
目前也不知道什麼情況下,哪些標籤會存在,哪些不會…
只好先用蠢一點的方法,每一種都試試看,存在的就先拿來用囉:
for DATE_TAG in CreateDate DateTimeOriginal ModifyDate FileModifyDate; do exiftool -P -r "-FileName<${DATE_TAG}" -d "${DST_FOLDER}/%Y/[%Y.%m.%d] xxx/%Y%m%d_%H%M%S%%-c.%%e" "${SRC_FOLDER}" && break done
參考資料:ExifTool Forum: warning: no writable tags set from
(本頁面已被瀏覽過 690 次)