画像管理はWindows10の「フォト」アプリを利用しています。
フォトアプリの画像管理のベースは撮影日時らしく、インポート機能を利用すると、撮影日ごとにフォルダが作られ、画像が振り分けられます。
インポート機能では、リムーバブルメディア以外のインポートは、フォルダへの参照が作られるだけの様で、管理フォルダ配下に集約したい自分の思っていた挙動ではなく...既にPC内に存在する画像もフォトアプリの管理ができるよう、Powershellで撮影日ベースの仕分けスクリプトを書いてみました。
方針
- 元画像フルパス(a)、コピー先の親フォルダパス(b)をインプットにする
- (a)からExif情報を基に撮影日時を取得する。Exifの撮影日時について☟
- 撮影日時を基に、「yyyy-mm-dd」形式のフォルダ名(c)を作成する
- (b)に、(c)フォルダが存在するかチェックし、存在しなければ作成
- (a)を、(b)の(c)フォルダにコピーする
コード
フォルダ作成要否チェック用のパラメータをつけてみた
実行結果
# 実際にフォルダ作成、コピーを実行する場合 PS D:\Documents\scripts> .\撮影日で写真を仕分け.ps1 -filename "C:\Users\hoge\Pictures\2015\2015-01-02\IMG_20150102_180534.jpg" -targetDir D:\ 作成します:D:\2015-01-02 # 実際にフォルダ作成、コピーを実行しない場合 PS D:\Documents\scripts> .\撮影日で写真を仕分け.ps1 -filename "C:\Users\hoge\Pictures\2015\2015-01-02\IMG_20150102_180534.jpg" -targetDir D:\ -test 作成します(テスト):D:\2015-01-02