こんにちは。みなさん、スマホで撮った写真の管理、どうしてますか?
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フォトなどのクラウドバックアップだけでなく、ローカルストレージにもバックアップするのは、確かにちょっと面倒くさいです。
それでもこまめにバックアップしているのは、私にとってスマホの写真データは、ちょっとしたメモを撮影したり、行動記録代わりに自撮りをするなど、大事な記録だからです。
そんな訳で、クラウドと同時にローカルにもこまめにバックアップしている訳ですが・・・やっぱりもっと便利で楽な方法はないかと、常に探していますね。