写真ファイルの撮影日とファイル作成日・変更日が異なる場合の修正法

こんにちは、くみです。

Terminal(+ExifTool)とAutomatorを使って、撮影日とファイル作成日・変更日が異なる写真を色々修正しました。

目次

カオスだった私の写真フォルダの状況

私の写真フォルダ(特に2007〜2009年)がカオスです。

  • まず撮影日とファイルの作成日・変更日が合っていません。おそらくHDDにコピーしたりしている中でおかしくなってしまったのではと思うのですが…
  • また、私はファイル名に日付を入れているのですが、それもファイルの変更日からとっていているのでEXIFの撮影日に合っていません。
  • そして2007〜2009年はガラケー・デジカメ・iPhoneと写真撮影デバイスが入り乱れているので、EXIFがついていたりいなかったり。
  • なんだかよく分からないけど写真も異なる名前で重複していて(おそらく吸いだす過程が異なったので同じ写真で名前違いが出来てしまったのでは)、結局同じ写真が3〜4枚ありました。

最後のは『ファイルサイズで並べ替えて(同一写真ならファイルサイズは同じなので)目視で削除』という不毛な作業で解消しましたが、上3つについてどう整理したかを自分メモとして残しておきます。

前回は結論として『MacのリネームアプリShupapanを使ってEXIF情報の撮影日時をファイル名に追加する』というところに落ち着いたのですが、Shupapanが私の環境ではなぜかエラーが頻発して作業できないファイルが大量にあるので、やはり変更日をいじる方法を探す事にしました。


写真をFlickrにアップする時に私がやっている作業(撮影日時に気をつける) - @kum_i log

Terminal(+ExifTool)とAutomatorを使って修正する 

全体の流れ

全体の流れはこんな感じです。

  1. まず更新日付をすぐ分かるような日時に変更する
  2. 更新日付を撮影日付に変更する
  3. Automatorでファイル名を適宜修正(元々ついていた日付を削除する)
  4. 撮影日とファイル名の日付が違っていたファイルをリネーム

1.まず更新日付をすぐ分かるような日時に変更する

偽の作成・更新日付がついているファイルがたくさんあり、EXIFの撮影日に沿ったファイルと後で見分けるため、一律に更新日付を変更。

touch -t 200901010000 [ファイル名]

これでファイルの更新日付が2009年01月01日00時00分になります。

参考

うーん、Mac使うならやっぱりUNIXのコマンドは一度勉強し直した方がいいんだろうなあ…。20代の時にちゃんとやっておけばよかったんですけど、変にMacユーザ(漢字TalkとかOS8とかの時代)だったのでUNIXの実行環境が手に入れられなかったんですよね…(´・ω・`)、

2.更新日付を撮影日付に変更する

全部同じ更新日付になったところで、TerminalとExifToolを使ってEXIFの撮影日を元に更新日を書き換え。(EXIF情報がない写真は2009年01月01日のまま)

参考:

■ 更新日付を撮影日付に変更

exiftool "-DateTimeOriginal>FileModifyDate" hoge.jpg
→ 指定のファイルを変更

exiftool "-DateTimeOriginal>FileModifyDate" hoge\*.jpg
→ ワイルドカード利用可能

exiftool.exeの利用方法:自分用まとめ 仁義偉王のブログ/ウェブリブログ

ワイルドカード使えるんだ!素敵!と思って試したんですけど、なぜか漏れがあるようなので(指定の方法が間違っていた?それとも処理スピードの問題??原因はよく分かりません)、ファイルを全部選択して突っ込むという方法に落ち着きました。

こういった機能を持たせたアプリケーションもあるようなのですが、MacのリネームソフトShupapanにもついていたはずなのに私の環境では上手く動かなかったので、もっと原始的(?)な方法がいいなと思って。

3.Automatorでファイル名を適宜修正(元々ついていた日付を削除する)

さて、次は撮影日を元にファイル名に日付を追加したいのですが、元々つけていたものが残っていると

20090326_20070716_img370.jpg

のようなカオスな状態になりますので、撮影日とファイル名の日付が異なっているファイルから日付を表す数字を取る。

変更日が狂っていたファイルは大体日付が固まっていたので(おそらくHDDにコピーしたりして狂った日付なんだと思います)、Automatorの置換で取りました。

f:id:arfecia:20141218160021p:plain

Terminalでも取れるんだろうけど、まだそこまで使いこなせていない…(´・ω・`)、

▼Automatorのリネームについてちょっと書いてます。

※自分メモ※ PDFをバラバラの画像(PNGとか)にする方法・Mac - @kum_i log

4.撮影日とファイル名の日付が違っていたファイルをリネーム

あらためて日付を付加。
これも、Terminalで撮影日を直接ファイル名にする方法は見つけたのですが、元の画像名(『img370』等)を残しておく方法がわからなかったのでおとなしくAutomatorで追加しました。

f:id:arfecia:20141218161414p:plain

これで、

  • 撮影日=作成日・修正日だった写真
  • 撮影日≠作成日・修正日だった写真
  • 撮影日が残っていない(EXIF情報がない)写真

の三種類だったものを

  • 撮影日=作成日・修正日の写真
  • 撮影日が残っていない(EXIF情報がない)写真

の2種類に出来た上、名前もきれいにする事が出来ました。ふう。

同じことに悩んでない人にはちょっと分かりにくいかもしれないですが…(´・ω・`)
きっとこの情報が必要な誰かがGoogleを使って辿り着くであろうことを願って…

 

EXIF情報が残っていないファイルはどうするかあとで考えるとして、きれいにした写真を今度はテーマ別に分けて、Flickrと別ストレージにえんえんアップしていきます。早く作業を完了したいけど、カンボジアのネット回線だと無理かな〜…?(´・ω・`)、

 

▼Kindleだとオライリーが安いのだなあー。今の時代の人達はいいねえ…

Learning Unix for OS X: Going Deep With the Terminal and Shell[Kindle版]

Dave Taylor O'Reilly Media 2012-09-19
売り上げランキング :
by ヨメレバ

▼『ふだんは見えないファイル/フォルダを表示する 』等、コマンドでどういう事が出来るかを説明している本のようだ。やりたい事がはっきりしていればググれば済む話ではありますが、こういう逆引きリファレンスというか『何が出来るか』自体をまず知るのって、何も知らないところから興味がわく第一歩ですよね。

OS X Mavericks対応 defaultsコマンド活用術 I[Kindle版]

海上忍 OTS Publishing 2014-01-29
売り上げランキング : 41197
by ヨメレバ

テック的な他の記事

テックってなんか日本語で変なんですが、英語で言うtekkiってなんて言ったらいいのかなあ、技術とかギークは言いすぎだし…(´・ω・`)