写真や動画のファイル名を撮影日変更するソフトをpythonで作ってみた

プログラミング

ファイルが撮影日順番に並ばない

何かのカメラで撮影したデータには勝手にファイル名がつく。

それは撮影機器によって、「C001、C002…….」や「ACR20201010、ACR20201011…..」など、さまざまな名付け方がある。

それら一つのフォルダに格納してしまうと、撮影順がわからない。

どのデータがどのデータの後に撮影したものなのか、、、、これは動画を作るときに非常に困るんだよね。

「撮影日準にソートすれば?」と思うかもしれない、だがファイル形式によってそうもいかないのだ。

カメラで撮影した画像の場合はEXIF情報に「撮影日」が載る。

しかし、画面のスクショやダウンロードした画像にはEXIF情報が無い場合がある。それらの新旧の判断はファイルの「作成日」を見るしかない。

動画もEXIF情報が無いので、ファイルの「作成日」を見るしかない。

つまり、そのファイルによって「作成日」と「撮影日」どちらを参照するかが違うため、この二種類を一発で並べ替える方法は無い。

pythonで「ファイル名を撮影日or作成日に変更するソフト」を作ってみた!

この問題を解決する方法を考えた結果、「ファイル名を撮影日or作成日に変更してしまえばよい」という結論に至った。

そうすればファイル名をソートするだけで順番に並べ変わる。

しかし、ファイルのプロパティを一つづつ見て、名前を変えるのでは非常に時間がかかる。

そこで今回はプログラミング言語である「python」を使用して、その作業を自動化することにした。

今までちゃんと触ったのはVBAしかないから、文法わかりやすいし、ライブラリ神だし、刺激的だったぁ、、

内容的にはvbaでもできることなんだけど、これ絶対pythonで作ったほうが簡単だわ。

ソフトの名前なににしようか考えたんだけど、ファイル名変換器を英訳して、それっぽいところを抽出

File name converter → Fincon

ってことでこいつの名前はFincon(フィンコン)にした。かわいい名前だな。

注意点

いまからFinconの使い方を説明するけど、下記の事に注意

  • OSは64bitじゃないと多分動かない
  • Macは動くかわかんない
  • このソフトを使ってPC壊れたり写真消えたりしてもしーらないっ!自己責任でどうぞ!

ファイル名変換器、Finconの使い方

まずは写真や動画などを、一つのフォルダにまとめてぶち込む。

そしてFinconをダウンロード↓

適当なところに展開して中を覗くと、Fincon.exeが入ってるので起動。

起動にはちょっと時間かかるけど、待ってるとフォルダを選択するダイアログが立ち上がる。

Fincon

そこで写真が入ってるフォルダを選択すると、「完了」とか「終わった」とかの表示は何もなしにいきなり消える。

するとなんということでしょう、メディアのファイル名が日時になっているではありませんか。

ファイル名を日付に

これでめでたく、撮影順にソートすることができるようになりました。

このソフトがやってる事

このソフトは指定されたフォルダの中身を全てスキャンして、まず「作成日を取得する」

そのあと、再度すべてのファイルを写真かどうか?を判断し、写真であればEXIF情報の取得を試みる。

EXIFが取得出来た場合はその値を使う。

最後に取得した値ですべてのファイルの名前を書き替えている。

まとめ

今回は、pythonに挑戦して、ソフトを一つ作ってみた。

pythonは非常に豊富なライブラリで簡単にやりたい事が実装できる。

今後もチマチマ作っていきたい。

コメント

タイトルとURLをコピーしました