ファイルを日付で年月フォルダに自動整理する方法
WindowsとMacで、ファイルを年/月フォルダへ自動的に振り分ける方法。手作業での仕分け、PowerShellスクリプト、日付トークンを使ったルールの3つを比較し、フォルダを自動で作る設定手順まで解説します。
ファイルを日付で年月フォルダに整理するには、移動先のパスに日付トークンを使えるルール型の整理ソフトを使います。~/Archive/<Year>/<Month>/ のような移動先を指定すれば、ファイルが届くたびに必要なフォルダが手作業なしで作られます。WindowsならPowerShellでスクリプト化することもでき、一度きりの片づけならFinderもエクスプローラーも日付で並べ替えられます。どの方法が合うかは、溜まった山を崩したいのか、日々の流入を管理したいのかで変わります。
日付フォルダは現存する中で最も長持ちする整理方式です。カテゴリーは変わり、プロジェクトは終わり、命名規則は崩れていきますが、2026年8月に作られたファイルはこの先ずっと2026年8月のファイルです。
日付フォルダが巨大な1つのフォルダより優れている理由
4,000件が入った平らなフォルダは、開くのが遅く、検索も遅く、目で追うことも不可能です。日付で分けるとこの3つがまとめて解決します。理由ははっきりしています。「何を」を忘れていても「いつごろ」はたいてい覚えているからです。
契約書の名前が 合意_最終.pdf だったか 契約_v3.pdf だったかは思い出せないかもしれません。それでもプロジェクトを始めた頃だったことは覚えています。日付フォルダは、あいまいな記憶を2クリックに変えてくれます。
これに加えて実用的な利点が3つあります。
- バックアップが速くなる。 過去の年フォルダは変更されなくなるので、増分バックアップは丸ごとスキップします。
- アーカイブが単純になる。 2023年を外付けドライブへ移すのはドラッグ1回で済み、検索と選択の作業になりません。
- 手入れが要らない。 カテゴリー方式は仕事が変わるたびに判断を求めますが、日付方式は一度も求めません。
どの日付で並べるべきか
結果が役に立つか散らかるかを決めるのがこの判断であり、多くの解説はここを飛ばします。1つのファイルには3種類の日付が付いていて、それらは絶えず食い違います。
更新日は中身が最後に変わった時点です。書類、表計算、書き出しファイルにとって正しい既定値です。多くのコピー操作を経ても保たれ、「これはいつのもの」という問いの答えに一致します。
作成日は当然の選択に見えますが、たいていは違います。ダウンロード、別ドライブへのコピー、バックアップからの復元、ZIPの展開のいずれもが、この日付をコピーした瞬間に書き換えます。移行後に5年前のファイルをこれで並べれば、全部が今月に入ります。
**撮影日(EXIF)**は写真向けで、ファイルシステムではなく画像ファイルの内部に記録されます。カメラからスマートフォン、ノートPCへと渡る道のりを確実に生き延びる唯一の日付です。写真では必ずこれを使ってください。詳しい手順は写真をカメラ別のフォルダに整理する記事にまとめています。
目安はこうです。書類は更新日、写真はEXIFの日付、作成日はほぼ使わない。
自動化の前にフォルダ構成を決める
まず形を決めてください。2万件を振り分けた後で変えるとなれば、全部を並べ直すことになります。
多くの人に合う構成はこれです。
~/Archive/
├── 2025/
│ ├── 01/
│ ├── 02/
│ └── ...
├── 2026/
│ ├── 07/
│ └── 08/
└── 2027/
うまく機能させるルールは2つです。
- 月をゼロ埋めする。
8ではなく08です。ファイルブラウザは名前を文字列として並べるので、ゼロがないと1, 10, 11, 12, 2, 3の順になり、一覧が読めなくなります。 - 月で止める。 日単位の階層が意味を持つのは、1日で数百件が定期的に届く場合だけです。カメラの取り込み、ログの書き出し、スキャンの一括処理などが該当します。そうでなければ、2件ずつ入ったフォルダが年に365個できるだけです。
読みやすい月名を使いたい場合は、並び順が保たれるよう数字を先頭に置いてください。
2026/
├── 07-7月/
└── 08-8月/
ファイル命名規則のガイドは同じ原則をファイル名に当てはめており、2026-08-22 が 2026年8月22日 に勝つ理由もまさにこれです。
方法1、手作業で日付順に並べる(無料、一度きり)
一度片づければ済む山なら、標準のファイルブラウザで十分です。
Windowsの場合:
- エクスプローラーでフォルダを開き、表示を詳細に切り替える
- 更新日時の列見出しをクリックして並べ替える
- 必要な年と月のフォルダを作る
- その月の先頭ファイルをクリックし、末尾を
Shiftクリックして、選択をフォルダへドラッグする
macOSの場合:
- Finderでフォルダを開き、リスト表示に切り替える
- 変更日の列をクリックして並べ替える
- フォルダを作り、
Shiftクリックで範囲を選んでドラッグする
数百件までなら、これで問題ありません。継続的な仕組みとして不向きな理由は2つあります。毎月繰り返すことになり、意図して選んだ日付ではなく表示中の列で並べていることです。
方法2、スクリプトで処理する(PowerShellまたはシェル)
ターミナルに慣れているなら、スクリプトが大量の山を数秒で片づけます。
Windows、PowerShell:
$source = "$env:USERPROFILE\Downloads"
$target = "$env:USERPROFILE\Archive"
Get-ChildItem -Path $source -File | ForEach-Object {
$dir = Join-Path $target $_.LastWriteTime.ToString("yyyy\\MM")
New-Item -ItemType Directory -Path $dir -Force | Out-Null
Move-Item -Path $_.FullName -Destination $dir
}
macOSまたはLinux、zsh/bash:
source="$HOME/Downloads"
target="$HOME/Archive"
find "$source" -maxdepth 1 -type f | while read -r file; do
dir="$target/$(date -r "$file" +%Y/%m)"
mkdir -p "$dir"
mv "$file" "$dir/"
done
どちらも更新時刻を読み、YYYY/MM のパスを組み立て、なければ作成してファイルを移動します。
まずコピーで実行してください。スクリプトにはプレビューも取り消しもありません。パスの変数を1つ間違えれば数千件が意図しない場所へ移り、戻すには2本目のスクリプトを書くことになります。
継続的に動かすにはWindowsのタスクスケジューラやmacOSの launchd を組み合わせることになり、まさにそこで手間が代替案を上回り始めます。
方法3、ルールに日付トークンを使う(スクリプトなし)
File Arborのようなルール型の整理ソフトは、移動先のパスでトークンを扱えます。トークンはファイルごとに展開されるので、ルール1つでフォルダ階層全体が生成されます。
ルールの移動先をこう設定します。
~/Archive/<Year>/<Month>/
2026年8月22日に更新されたファイルは ~/Archive/2026/08/ へ入ります。存在しないフォルダは自動的に作られます。スクリプトも、予約タスクも、手作業のフォルダ作成も要りません。
覚えておきたいトークン
| トークン | 展開結果 | 例 |
|---|---|---|
<Year> | 4桁の年、更新日 | 2026 |
<Month> | ゼロ埋めした月 | 08 |
<Day> | ゼロ埋めした日 | 22 |
<MonthName> | 月の正式名 | 8月 |
<MonthShort> | 月の短縮名 | 8月 |
<Date:yyyy-mm-dd> | 更新日、任意の書式 | 2026-08-22 |
<CreatedDate:yyyy-mm> | 作成日、任意の書式 | 2026-08 |
<ExifDate:yyyy-mm-dd> | 写真の撮影日 | 2026-08-22 |
<ExifYear> | 写真を撮影した年 | 2026 |
<Ext> | 拡張子 |
自由に組み合わせられます。実際によく使われる移動先を挙げます。
~/Archive/<Year>/<Month>/— 標準の構成~/Archive/<Year>/<Month>-<MonthName>/— 並び順と読みやすさの両立~/Invoices/<Year>/<Date:yyyy-mm-dd>/— スキャンの一括処理向けに1日1フォルダ~/Photos/<ExifYear>/<ExifDate:yyyy-mm-dd>/— 撮影日ごとに写真を振り分け
移動先はファイルごとに評価されるため、同じルールが1月になっても手を加えずに動き続けます。
日付と条件を組み合わせる
日付トークンは通常の条件と併用でき、スクリプトより便利になるのはまさにこの点です。
- 拡張子が
.pdfかつ 移動先が~/Documents/PDF/<Year>/<Month>/ - 名前に
請求を含む かつ 移動先が~/Finance/Invoices/<Year>/ - サイズが1GB超 かつ 移動先が
/Volumes/Archive/<Year>/
複数条件ルールのガイドでは、条件の組み合わせと実行タイミングの予約を扱っています。
適用前に確認する
スクリプトに用意できない唯一のものが、何かが動く前に展開後のパスを目で見ることです。プレビューを確認し、トークンが想定どおりのフォルダを作ることを確かめてから、ルールを有効にしてください。すべての移動は操作履歴に記録され、取り消せます。
写真では撮影日を使う
写真は、ファイルシステムの日付がはっきり間違っている場面です。旅行写真のフォルダをSDカードからノートPCへコピーすると、すべてのファイルの更新日がコピーした瞬間に変わります。これで並べれば、10年分の写真が1つの月に潰れてしまいます。
撮影日は画像内部のEXIFメタデータにあり、シャッターを切った瞬間にカメラが書き込みます。コピーしても残ります。
カメラやスマートフォン由来のものにはEXIFトークンを使ってください。
~/Photos/<ExifYear>/<ExifDate:yyyy-mm-dd>/
各メーカーのRAWファイルもEXIFを持っているので、.CR3、.NEF、.ARW、.DNG は同じルールで正しく振り分けられます。EXIFの日付がないファイル、たとえばスクリーンショット、編集後の書き出し、ダウンロード画像では、トークンが更新日にフォールバックするため、未整理のまま残るものはありません。詳しくはEXIF対応の写真整理ソフト特集をご覧ください。
どの方法を選ぶべきか
「散らかったフォルダが1つあり、これで終わりにしたい」 方法1。日付で並べ、Shift で選び、ドラッグします。ツールは不要です。
「3万件あり、もともとスクリプトを書いている」 方法2。PowerShellやシェルのループが数秒で片づけます。コピーで試してください。
「毎日新しいファイルが届くので、自分の仕事から外したい」 方法3。日付トークンとリアルタイム監視の組み合わせで、構成が自力で維持されます。
「ほとんど写真である」 EXIFトークンを使った方法3。代替手段が遅いだけでなく誤った結果を出す、唯一の場面です。
日付フォルダでよくある失敗
フォルダ名に MM-DD-YYYY や DD-MM-YYYY を使う。 どちらも文字列としては時系列に並びません。年から始まる順序だけが並びます。
ゼロ埋めを忘れる。 2026/8/ は12月まで問題なく見えますが、そこで 10、11、12 が 2 より上に来ます。
いきなり日単位のフォルダを作る。 整然として見えて、実際には悪化します。ほぼ空のフォルダが数百個できて、平らな月フォルダより多くクリックすることになります。
移行後に作成日で並べる。 すべてが今月に入り、構成が無意味になります。日付の中身をいくつか確認してから、どれを使うか決めてください。
同じ階層で方式を混ぜる。 2026/08/ の隣に 2026/8月/ があり、さらに 2026-08/ もある状態は、構成がないより悪くなります。探す場所が3か所に増えるからです。1つを選び、外れたものを並べ直してください。
まとめ
日付フォルダは、整理に関する他のあらゆる要素が変わっても生き残ります。だからこそ一度きちんと作る価値があります。ゼロ埋めした 年/月 を使い、書類は更新日、写真はEXIFの撮影日で並べ、自動化の前に溜まった分を片づけてください。
あとはルールの移動先に日付トークンを入れて、この件を忘れてしまいましょう。File Arborをダウンロードして、最初の移動先を <Year>/<Month> に設定してください。
