ファイルが撮影日順番に並ばない
何かのカメラで撮影したデータには勝手にファイル名がつく。
それは撮影機器によって、「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が入ってるので起動。
起動にはちょっと時間かかるけど、待ってるとフォルダを選択するダイアログが立ち上がる。

そこで写真が入ってるフォルダを選択すると、「完了」とか「終わった」とかの表示は何もなしにいきなり消える。
するとなんということでしょう、メディアのファイル名が日時になっているではありませんか。

これでめでたく、撮影順にソートすることができるようになりました。
このソフトがやってる事
このソフトは指定されたフォルダの中身を全てスキャンして、まず「作成日を取得する」
そのあと、再度すべてのファイルを写真かどうか?を判断し、写真であればEXIF情報の取得を試みる。
EXIFが取得出来た場合はその値を使う。
最後に取得した値ですべてのファイルの名前を書き替えている。
まとめ
今回は、pythonに挑戦して、ソフトを一つ作ってみた。
pythonは非常に豊富なライブラリで簡単にやりたい事が実装できる。
今後もチマチマ作っていきたい。
コメント