Razl-Dazl

eyecatch

Exiftoolで写真のファイル名から撮影日を取得する

Posted at — 2020-12-31

色々な箇所に分散して保存してたスクリーンショットの山をiCloudの写真ライブラリに読みこんだ

そしたらなんと、作成日が今日と見なされて保存されてしまった…ライブラリ内で時系列順に並んでくれないので死ぬほど困った

幸いにも読み込み前の画像のファイル名は「Screenshot_20200101-0930000.jpg」のように、日付名になっていた

ここの文字列をExif情報に入れれば、なんとかなりそう

既に写真ライブラリに読み込んでしまったものは一旦削除し、読み込み前の画像にExif情報を付加することにした


やったこと

  • PNGファイルの変換
  • Homebrew導入
  • Exiftool導入
  • Exiftoolを実際に使う

PNGファイルの変換

PNGファイルにはExif情報を付加できないので、他の形式に変換する必要がある

JPGに変換してもいいけど、自分はHEIF形式に変換した

HEIFなのに拡張子はheicなのややこしい

JPGへの一括変換はAutomatorで簡単にできるけど、HEIFはちょっと手を加える必要がありますねHEIFへ一括変換する記事はまた後に


Homebrew導入

MacでExiftoolをインストールするにはHomebrewが必須。yumとかみたいなパッケージ管理ツール

ターミナルで以下を実行

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

本家と書いてることは一緒ですがうまくいかなかったら本家のインストール手順を見てください


Exiftool導入

Homebrewの導入ができたらbrewコマンドが使用可能になるので、以下を実行

brew install exiftool

ExifToolを実際に使う

写真を適当なフォルダにまとめてぶち込む

そしたらカレントディレクトリをそのフォルダにして、以下を実行

*.heicの部分を*のみにしたりすれば、フォルダ内の全ての画像ファイルに対して処理が行われる

exiftool ‘-FileName>AllDates’ *.heic

昔はファイル名がどういうルールになってるか書く必要があった(%Y%m%dなんちゃら〜って)と思ったんだけど、今は何もせずに勝手にファイル名の数字を日時と認識してくれるらしい。便利すぎ

ファイル名の接頭辞とか、アンダーバーで繋ぐかハイフンで繋ぐかとか、そういう細かい所を気にしなくていいのはありがたい。ありがたすぎる

…という訳で、はてなブログを備忘録的に使うことにしたけど

いつまで続くか…

結局いまいち使いにくくてGitHub Pagesに移行したのでした めでたしめでたし


追記

失敗する場合は、パスのディレクトリ名部分に日本語が入らないようにしてみると直るかも…?

Author@zakuro

Mastodon: 396@vivaldi.net