EXIF情報を使って写真をリネーム

こんにちは。みなさん、スマホで撮った写真の管理、どうしてますか?

GoogleフォトやDropboxなどのスマホアプリで、自動的にアップロードしている人も多いかと思いますが、そんな時気になるのが写真のファイル名。

スマホのアプリって、結構アプリごとにファイル名の付け方がバラバラなんですよね。

今回は、そんな写真のファイル名に関するお話です。

Dropboxのカメラアップロード機能が優秀な件

自分はケーブルをつなぐのが面倒くさいので、もっぱらカメラアップロード機能を使って、スマホの写真をバックアップしています。

Dropboxをメインにして、あとはGoogleフォトとAmazon Photoも使っています。

Dropboxにアップロードした写真は、さらにローカルPCに同期して、外付けハードディスクにコピーしていました。

なぜそんなややこしいことをしていたかと言いますと。

Dropboxがスマホの写真データをクラウドにアップするとき、自動的に日付でリネームしてくれるのですね。しかもどのアプリで撮影しても、同じ日付の形式で統一してくれます。

スマホで写真を撮影すると、「DCIM***.jpg」や「PXL_***.jpg」など、それぞれのアプリで勝手な接頭辞を付けて保存してくれます。

また、ファイル名に日付が入っている場合は、年月日の区切り文字がなかったり、区切り文字があったとしても機種ごとにバラバラだったりと、なんともモヤモヤします。

せめて、日付の形式が統一されていれば、PCに落としたあと、スクリプトで簡単に写真の整理ができるのですが・・・。

そんなわけでDropboxの有料プランに加入して、便利に使っていたのですが。

諸事情(主に経済的な)により、Dropboxの有料プランから退会することにしました。

カメラアップロード機能としてはGoogleフォトを継続し、使用頻度が低くなっていたDropboxをやめることにしました。

ただ、Dropboxがファイル名を統一してアップロードしてくれるのが便利すぎる。

少し悩みました。

Googleフォトのカメラアップロード機能は強力ですが、クラウドで完結することを前提としているようですので、ファイル名についてはあまり考慮されていないように感じます。

仕方がないので、スマホからPCに一旦コピーして、そこでリネームすることにしました。

Exiftoolを使えば、写真のメタデータから撮影日時が取得できますので、それをファイル名に使うことにします。

Exiftoolを使ってリネーム

とりあえずGoogleフォトとは別に、スマホからWindows PCに写真データを転送する手段を探さないとなりません。

PC側のUSBポートも空いてませんし、なにより面倒くさいので有線接続は無しです。

 

ここは無難にFTPを使うことにしました。

スマホ側にFTPSサーバーアプリをインストールして、FTPサーバーにします。

「FTP Server – Multiple FTP users」を使いました。

( https://play.google.com/store/apps/details?id=net.xnano.android.ftpserver )

あとはWindows PC側にFTPクライアント ( FileZilla )をインストールして、PCからスマホへ写真を取りにいくことにします。

FTP経由でWindows PCのローカルストレージに写真データをコピーしたら、次はExiftoolでリネームです。

Exiftoolは、あらかじめWSL (Windows Subsystem for Linux) のUbuntuにインストールしておきました。aptコマンドを使用して簡単にインストールできます。

次に、写真データを保存したディレクトリに移動します。リネーム前に、写真データを一覧してみました。

 

Pixel5で保存した写真ですので、接頭辞に「PXL_」とついていますね。
その後に撮影した日付が区切り文字無しで続き、「_」(アンダースコア)に続けて、撮影した時間が記載されていますが、区切り文字がないので少々読みにくいです。

リネームには、次のコマンドを実行します。

exiftool “-filename<createdate” -d %Y-%m-%d_%H-%M-%S%%-c.%%e *.jpg *.JPG

項目 意味
exiftool  Exiftoolのコマンド
“-filename<createdate” 撮影日時(createdate)をファイル名(filename)に使用する
-d 撮影日時を、指定したフォーマットで整形する
%Y-%m-%d_%H-%M-%S 撮影日時のフォーマット
[年月日]_[時分秒]
%%-c 同じ名前のファイルが既に存在した場合、既存のファイルを上書きしないように、「1」や「2」などを名前に追加する
%%e オリジナルのファイル拡張子を維持する
*.jpg *.JPG リネームするファイルの指定

実行すると、次のような結果になります。うん、成功。

ちなみにExiftoolのオプションは、「exiftool Application Documentation」のサイトが参考になります。

https://exiftool.org/exiftool_pod.html

あとは、リネームしたファイルを、念のため外付けハードディスクに転送してバックアップ完了です。

Googleフォトなどのクラウドバックアップだけでなく、ローカルストレージにもバックアップするのは、確かにちょっと面倒くさいです。

それでもこまめにバックアップしているのは、私にとってスマホの写真データは、ちょっとしたメモを撮影したり、行動記録代わりに自撮りをするなど、大事な記録だからです。

 

そんな訳で、クラウドと同時にローカルにもこまめにバックアップしている訳ですが・・・やっぱりもっと便利で楽な方法はないかと、常に探していますね。

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG