Mac 平台如何批量將圖片文件名中的時間寫入 EXIF 信息?
有一批老相片,不知道為何 EXIF 信息缺失,在 Dropbox / Caroousel 裡面瀏覽非常辛苦,現在只有帶日期和時間格式的文件名,能夠將其批量寫入這批相片的 EXIF 信息里去嗎?
或者妥協,能否有批量寫入 EXIF 信息的方案?不要求自動從文件名裡面獲取,可以手動填
用 ExifTool by Phil Harvey 可以很容易做到,ExifTool 是個用 Perl 編寫的庫,同時附帶了一個命令行應用。僅用命令行工具,就幾乎可以做與文件元數據相關的任何操作。
ExifTool 可以方便地查看、修改、導入或導出單個或多個文件的元信息,包括 PDF、DOC 甚至 EXE 多種格式在內的 EXIF、IPTC 和 XMP 信息。 JPG 的 EXIF 自然不在話下。(在官網首頁的 Supported File Types 一節可以看到全部支持的格式)
ExifTool 既有 Win 版也有 OS X 版,只需要 Perl 即可運行,下面的演示都是在 OS X 上進行的。一、查看信息瀏覽一張圖片的全部元信息:exiftool IMG_0894.JPG
(省略結果)
exiftool -createdate IMG_0894.JPG
Create Date : 2013:11:05 14:48:09
也可以同時輸入多個參數,返回多個結果:
exiftool -iso -imagesize IMG_0894.JPG
ISO : 80
Image Size : 1936x2592
exiftool -imagesize pics
======== pics/2009-09-30 15-28-16.jpg
Image Size : 566x480
======== pics/2010-02-10 08-12-45.jpg
Image Size : 180x180
======== pics/220ppi.png
Image Size : 1000x1000
======== pics/IMG_0894.JPG
Image Size : 1936x2592
======== pics/kokuhaku.mkv
Image Size : 1024x576
1 directories scanned
5 image files read
exiftool -imagesize pics/*.jpg
======== pics/2009-09-30 15-28-16.jpg
Image Size : 566x480
======== pics/2010-02-10 08-12-45.jpg
Image Size : 180x180
2 image files read
所有對元信息的修改都會產生一個「_original」的備份文件,可以通過加上「-overwrite_original」參數來阻止這一行為。
用「=」設置某個信息:exiftool -iso IMG_0894.JPG
ISO : 80
exiftool -iso=100 IMG_0894.JPG
1 image files updated
exiftool -iso IMG_0894.JPG
ISO : 100
exiftool -DateTimeOriginal IMG_0894.JPG
Date/Time Original : 2013:11:05 14:48:09
exiftool -DateTimeOriginal+="00:01:03 10:0:0" IMG_0894.JPG
1 image files updated
exiftool -DateTimeOriginal IMG_0894.JPG
Date/Time Original : 2013:12:09 00:48:09
(如果要寫入的內容包含空格或特殊字元,那麼需要用引號引起)
還可以用「&<」來通過某個參數來設置信息,比如用圖片尺寸(imagesize)來設置文件名(filename):exiftool "-filename&<%f_$imagesize.%e" IMG_0894.JPG
1 image files updated
這個命令可以將「IMG_0894.JPG」更名為「IMG_0894_1936x2592.JPG」:其中 %f 為文件原名,%e 為文件的擴展名(更多格式碼可以參見文檔 FileName and Directory tags 的 Common Date Format Codes 一節)。一旦出現格式碼,就要在 imagesize 這個屬性前加上「$」。
exiftool -filename -DateTimeOriginal *.jpg
======== 2009-09-30 15-28-16.jpg
File Name : 2009-09-30 15-28-16.jpg
======== 2010-02-10 08-12-45.jpg
File Name : 2010-02-10 08-12-45.jpg
2 image files read
======== 2009-09-30 15-28-16.jpgexiftool "-DateTimeOriginal&
exiftool -filename -DateTimeOriginal *.jpg
File Name : 2009-09-30 15-28-16.jpg
Date/Time Original : 2009:09:30 15:28:16
======== 2010-02-10 08-12-45.jpg
File Name : 2010-02-10 08-12-45.jpg
Date/Time Original : 2010:02:10 08:12:45
2 image files read
兩張圖片都被加上了原文件日期,注意 ExifTool 自動將文件名的擴展名去掉,並將文件名中的「-」替換為「:」
預覽可以查看到被新添加的 EXIF 信息,Dropbox 當然也可以。基於同樣的道理,視頻文件的 Date/Time Original 屬性,當然也可以被查看、修改和批量修改,這裡就不用再說了吧~:
exiftool -datetimeoriginal kokuhaku.mkv
Date/Time Original : 2011:02:09 10:49:56Z
libexiv2/pyexiv2
lightroom.
推薦閱讀:
※OS X 上沒有安全管家、網銀保鏢等安全軟體,能放心使用網銀嗎?
※Tweetbot 圖標的設計意圖是怎樣的?
※VMware Fusion 7 for Mac 跟 Parallels Desktop 10 對比如何?
※有哪些圖標特別丑但是好用的 Mac 應用?