這個腳本根據文件夾名稱修改照片的日期資訊,適用於從網路下載的相簿。只想看 Exiftool 指令教學請到 4.
1. 需求
ExifTool
Windows用戶可能需要安裝WSL或Git Bash來運行這個bash腳本。此腳本尚未在Windows上測試。
2. 使用方法
- 創建一個基礎文件夾,並按“YYYYMMDD 標題”的格式命名子文件夾。
- 授予權限並執行:
chmod 755 /path/to/script.sh
/path/to/script.sh "/base/folder/name"
享受組織良好的EXIF日期吧!(這句翻譯成中文也太怪!)
注意事項:
- 修改是基於EXIF中的DateTimeOriginal。如果缺失,則使用CreateDate。
- 確保為您的照片備份。您可以刪除"-overwrite_original"以保留原始照片。
- 不支持嵌套子文件夾。
3. 將照片按時間順序排列
當文件具有相同的時間時,按修改時間排序可能會導致順序錯亂。來源
# 將所有照片設置為相同日期。
exiftool -overwrite_original -datetimeoriginal='2022:06:14 14:10:00' -filemodifydate='2022:06:14 14:10:00' DIR
# 按文件名順序每個文件增加10秒。
exiftool -overwrite_original '-datetimeoriginal+<0:0:${filesequence}0' '-filemodifydate+<0:0:${filesequence}0' -fileorder filename DIR
4. 其他EXIF命令
4.1 基本用法
按文件名每20秒遞增
exiftool -overwrite_original '-FileModifyDate+<0:0:${FileSequence; $_*=20}' -FileOrder Filename
鬆散顯示
exiftool -s1 FILE/DIR
只顯示指定資訊
exiftool -DateTimeOriginal FILE/DIR
將DateTimeOriginal分配給其他所有日期
exiftool -r -if '$DateTimeOriginal' -P "-AllDates<DateTimeOriginal" "-FileModifyDate<DateTimeOriginal" FILE
4.2 複製EXIF資訊
從另一文件複製EXIF資訊
exiftool -tagsFromFile source.mpeg -FileModifyDate destination.mp4
比較兩個文件的元數據 來源
exiftool a.jpg b.jpg -a -G1 -w txt
diff a.txt b.txt
從另一文件複製所有標籤 來源
exiftool -tagsfromfile A.jpg -all
B.jpg
從具有相同名稱的另一文件夾複製EXIF資訊
exiftool -TagsFromFile ./exiftool/mpg%f.mpg -FileCreateDate -FileModifyDate ./exiftool/mp4
官方網站 有更多複製範例。
4.3 其他命令
按日期重命名文件:良好的命名規則可永遠避免EXIF遺失
exiftool -d %Y%m%d_%H%M%%-c'-DEVICE_MODEL'.%%e "-filename<DateTimeOriginal" -fileorder DateTimeOriginal FILE
按設備型號分類:對管理來自不同手機的照片非常有用。
exiftool "-directory<%d/${model;}" -r .