パソコンの写真を日付順に整理するには?年/月フォルダーへの自動振り分けと、失敗しないための注意点
数千枚の写真を撮影日順に並べ、年/月フォルダーに整理する方法です。なぜ年/月が長持ちするのか、更新日時で分けると失敗する理由、手作業・exiftool・アプリそれぞれの手順と、日付のない写真の扱いを説明します。Takeout の写真にも対応します。
1 万枚の写真が入ったフォルダーがある。スマートフォンから来たもの、カメラのカードから来たもの、昔の Google フォトのエクスポートから来たもの。ある旅行の写真を探すには、それ以外の全部をスクロールすることになる。フォルダーが欲しい。しかも 10 年後にも意味の分かるフォルダーが。
なぜ山になるのか
スマートフォンもカメラもフォルダーのことは考えません。IMG_4821.JPG や DSC_0042.JPG のような名前で 1 か所に書き込み、番号が尽きればゼロからやり直します。3 台分を 1 つのフォルダーにコピーすれば、名前の衝突、重複した番号、順番のない山ができます。
クラウドサービスは、メタデータからタイムラインを組み立てて見せることで、これを隠しています。サービスを離れた瞬間、あるいはファイルをドライブにコピーした瞬間、タイムラインは消えて山だけが残ります。
年/月を勧める理由
年/月は、長持ちする構成です。2019 というフォルダーの中に 07-July がある形は、人が読めて、どのファイルマネージャーでも正しく並び、理解するのにソフトが要りません。NAS でも、USB メモリでも、Finder でも、エクスプローラーでも、ターミナルでも動きます。
人の記憶の仕方にも合っています。写真の正確な日はめったに分からなくても、年はたいてい分かり、季節もよく分かります。月のフォルダーは、よく撮る人でも多くて数百枚で、まだスクロールできる大きさです。
2 桁の月番号を頭に付ける(July ではなく 07-July)のは、見た目以上に大事です。月の名前だけだと、アルファベット順や五十音順に並んでしまいます。番号があれば暦の順に保たれます。
他の構成と、それが合う場合
年/月/日は 1 日 1 フォルダーです。イベント撮影をする人や非常に大きなライブラリには合いますが、家族のライブラリでは 1、2 枚しか入らない小さなフォルダーが何千もできます。
年だけは逆です。年に数百枚の小さなライブラリなら十分です。年に数千枚を超えると、フォルダーが大きすぎて見られなくなります。
年/場所は、各年の下に場所ごとのフォルダーを置きます。2019/Kyoto、2019/Sapporo。よく旅行する人には良いですが、写真に GPS データが必要で、位置情報のない写真の行き先がはっきりしません。
既存のフォルダーを保つのも、本当の選択肢です。すでにアルバムがフォルダーとしてあり、日付を直して名前を整えたいだけなら、構成を捨てないでください。
フォルダーを何から作るか
ここがいちばんよく間違うところです。写真が入るフォルダーは、撮影日から決まらなければなりません。撮影日はファイルの内側に EXIF の DateTimeOriginal として入っています。ファイルの更新日時から決めてはいけません。更新日時はコピー、ダウンロード、編集のたびに変わるので、更新日時で分けると 2012 年の写真が 2026 年のフォルダーに入ります。
写真が Google Takeout から来たものなら、EXIF の日付が欠けているか間違っていることが多く、本当の日付は各写真の横の .json に入っています。それを EXIF で分けると、ダウンロード日の巨大なフォルダーが 1 つできます。先に日付を直してから、フォルダーを作ってください。Google Takeout の写真の日付がおかしい理由 を参照してください。
手作業でやる
数百枚なら、ファイルマネージャーで足ります。「撮影日時」で並べ替え(エクスプローラーにはこの列があり、Finder は「情報を見る」とギャラリー表示で見せます)、1 か月分を選んで新しいフォルダーにドラッグします。午後いっぱいかかり、いくつか間違えます。
それ以上なら、ツールを使います。どの OS でも、exiftool は 1 コマンドで全部やります。
exiftool -r "-Directory<DateTimeOriginal" -d "%Y/%m-%B" .
現在のフォルダー以下のすべての写真から EXIF の日付を読み、それぞれを 年/MM-月名 に移動します。速く、無料で、確実です。EXIF の日付がない写真には触れません。それは正しい振る舞いですが、それらは別に処理する必要があります。
無料で Windows、Mac、Linux で動く digiKam には「高度なリネーム」があり、取り込み時に写真を日付フォルダーに移せます。XnView MP も、一括リネームの {Date taken} 項目で同じことができます。どちらも少し設定が要りますが、まさにこの仕事をする誠実なツールです。
アプリでやる
Takeout JSON Metadata Fixer は、コマンドラインの代わりにフォルダーテンプレートの選択で同じ仕事をし、フォルダーを作る前に日付を直します。これが、たいていの人が飛ばす手順です。
フォルダー、Takeout の zip、または複数の zip を指定します。フォルダーテンプレートを選びます。年/月、年/月/日、年、年/場所、場所/年、フォルダーをそのまま、フォルダーなし。名前の付け方を選びます。まずドライランで、何にも触れずに何が起きるかを見ます。
日付は順番に読みます。Takeout の .json サイドカーを先に、次に EXIF、最後の手段としてファイル自身の日時です。ですから Takeout のエクスポートはダウンロード日ではなく本当の日付で分けられます。日付がまったくない写真には、フォルダー全体に 1 つの日付と場所を与えられます。スキャンの箱はこう扱います。
フォルダーをその場で整理する場合、古いファイルを「Originals (before organizing)」フォルダーに残せるので、構成について気が変わっても何も失いません。
Windows、Mac、Linux でオフラインで動き、画面は日本語です。最初の 1000 枚は無料、無制限は 19.99 米ドルの買い切りです。
よくある質問
年/月と年/月/日のどちらにすべきですか?
たいていの人は年/月です。日のフォルダーが役に立つのは、1 日に何百枚も撮るか、1 つの出来事を日付で探す必要があるときだけです。忙しい月はあとで分けられます。
日付のない写真はどうなりますか?
手作業ならその場に残ります。exiftool では飛ばされます。アプリではファイルの日時に落ちるか、整理の前にフォルダー全体に 1 つの日付を設定できます。
フォルダーに移動すると何か失われますか?
いいえ。ファイルの移動はパスを変えるだけで、中身は変わりません。EXIF、GPS、画像データは同じままです。一部のシステムではファイル自身のタイムスタンプだけが変わることがあり、だからこそ日付はファイルの中に入っているべきなのです。
Apple の「写真」や Immich はフォルダーを尊重しますか?
Apple の「写真」は取り込み時にフォルダーを無視して EXIF の日付を使います。Immich はフォルダーを外部ライブラリとして取り込み、構成を保てます。PhotoPrism はフォルダーをそのまま読みます。いずれの場合も、アプリがタイムラインを組み立てるのに使うのは EXIF の日付なので、フォルダーはアプリのためではなく、あなたのためのものです。