2015/04/04

選択したJPEGファイルのEXIFを元に、ファイルの作成日と変更日を変更するAppleScript

だいぶ前に作ったのですが、時々使っているので需要もあるかもしれないと思いポストしておきます。
写真ファイルの作成日が、コピーや何かで変わってしまった時に、EXIF情報の撮影日を読み取り、作成日と変更日を書き換えます。
Xcode
ExifTool


tell application "Finder"
set objs to selection
set lstr to (a reference to objs)
end tell
repeat with obj in objs
--作成日変更
set objPOSIX to quoted form of the POSIX path of (obj as alias)
set scrptCDR to "exiftool -CreateDate" & " " & objPOSIX
do shell script scrptCDR
set CDR to result
set AppleScript's text item delimiters to ":"
set CDRList to text items of CDR
set yy to item 2 of CDRList --年取得
set AppleScript's text item delimiters to space
set yy to item 2 of text items of yy
set mm to item 3 of CDRList --月取得
set dd to item 4 of CDRList --日取得
set AppleScript's text item delimiters to space
set dd to item 1 of text items of dd
set H to item 4 of CDRList --時取得
set AppleScript's text item delimiters to space
set H to item 2 of text items of H
set M to item 5 of CDRList --分取得
set S to item 6 of CDRList --秒取得
set scrptCDW to "/usr/bin/SetFile -d " & "'" & mm & "/" & dd & "/" & yy & " " & H & ":" & M & ":" & S & "'" & " " & objPOSIX
do shell script scrptCDW
--ファイルの「作成日」取得
set date_creation to creation date of obj
if modification date of obj > date_creation then
--ファイルの「変更日」を変更
set modification date of obj to date_creation
end if
end repeat