macで写真データの作成日を撮影日時に変更するだけの話
macのFinderで写真データを時系列順にソートして編集したかったが、「コンテンツの作成日」でソートはできなくて困ってたので、「作成日」を「コンテンツの作成日」に変更するスクリプトを作って対応。
こういう場合の知見が調べても意外となさげだったので記事にしておこうと思った次第。
なんとなくQiitaとかZennとはちょい毛色違うかなーって思ったのでnoteで。
for file in "$@"
do
touch -t $(date -v+9H -jf "%Y%m%d%H%M" $(mdls ${file} | grep kMDItemContentCreationDate | head -n1 | awk '{gsub("[^[:digit:]]+"," ");print $1$2$3$4$5}') +%Y%m%d%H%M) ${file}
done
Automatorでアプリケーションを作成、「シェルスクリプトを実行」でシェルを「/bin/zsh」入力の引き渡しを「引数として」を指定し、上記をコピペして保存すれば作成・変更日の変換アプリが完成。
該当の写真ファイルを一括選択で作った変換アプリのアイコンにドラッグ&ドロップすれば変換完了(のはず)
やってること
mdlsがファイルのメタデータを確認できるコマンド。
その中からコンテンツ作成日のデータである kMDItemContentCreationDateを抽出、日付データを整形して画像データにtouchして作成日を変更している。