ファイルの中身でフォルダに自動振り分けする方法
ファイル名ではなく中身(内容)でフォルダへ自動振り分けする3つの方法を解説。無料のOS標準機能から、File Arborのようなルールベースアプリまで、それぞれの限界も含めて紹介します。
ファイル名や拡張子ではなく、PDFやWord文書、テキストファイルの中身に書かれている文字列をもとに、ファイルをフォルダへ自動的に振り分けることができます。WindowsにもMacにも、これを無料の標準機能だけで手作業で行う方法があります。日常的に量が多いなら、ルールベースのアプリが届いたファイルの中身を読み取り、適切なフォルダへ自動的に移動し、頼めば読み取った内容からリネームもしてくれます。
この記事では、5分でできる検索の裏技から、ファイルが届くたびに自動で動くルールまで、3つの方法を紹介します。中身からのリネームも取り上げます。HazelとFile Jugglerは何年も前から対応しており、File Arbor Proは1.3.0で加わりました。先に断っておきたい限界がひとつあります。スキャンやスマートフォンで撮影した書類の画像にはテキストレイヤーがなく、ツールが先にOCRを実行しない限り、ルールが読み取れる文字がそもそも存在しません。実行できるのはMacのHazel 6と、1.3.0以降のFile Arbor Proです。
ファイル名や拡張子での振り分けがうまくいかない理由
ファイル名は、誰かが保存ダイアログで何と入力したかを表しているだけで、多くの場合それは中身と関係がありません。scan0043.pdfや名称未設定.docx、download (3).pdfは、中に何が書かれているかを何も語っていません。拡張子による振り分けもさほど変わりません。PDFだとわかっても、それが契約書なのか領収書なのか、あとで読むつもりで保存したレシピなのかはわかりません。
規模が大きくなるほどこの問題は深刻になります。フリーランスのダウンロードフォルダには、取引先のシステムが自動生成した意味のないファイル名のPDFが溜まっていきます。学生のフォルダには、同じ講義コードで始まるスライド資料ばかりが増えていきます。名前や拡張子によるルールは、.jpgはすべて写真フォルダへ、.dmgはすべてインストーラフォルダへ、といった単純なケースには対応できますが、意味のない名前のPDFが請求書なのか契約書なのかを見分けることはできません。
内容による振り分けが解決するのは、思われているよりも狭い問題です。ファイルの意味を理解するわけではありません。特定の文字列を読み取り、それが含まれていれば決まったフォルダへ移動するだけです。「AIが書類をすべて理解して整理してくれる」よりずっと控えめな約束ですが、同じファイルなら毎回同じ結果になるという点で、信頼しやすい約束でもあります。
無料の2つの方法、そして自動化された方法
以下の最初の2つはコストがかからず、すでにパソコンに入っているツールだけで完結します。3つ目は専用アプリが必要ですが、放っておいても動き続けるのはこれだけです。
方法1:既存のファイルを内容で検索する
WindowsもMacも、検索のためにファイルの中身をインデックス化しており、そのインデックスを使って今すぐファイルを見つけて移動できます。
Macの場合: SpotlightまたはFinderのウィンドウを開き、探している文字列を入力し、検索範囲をファイル名ではなく「内容」に設定します。該当するファイルを選択し、移動先のフォルダへドラッグします。
Windowsの場合: ファイルエクスプローラーを開き、対象フォルダのコンテンツのインデックスが有効になっていることを確認し(コントロールパネルの「インデックスのオプション」)、中身に含まれていそうな文字列でそのフォルダを検索します。インデックス済みであれば、PDF・DOCX・TXTなど一般的な形式の中身までWindowsの検索が確認してくれます。
この方法は、すでに散らかったフォルダを一度だけ片付けるのには向いています。ただし明日届くファイルには何も起こりません。同じ検索をまた実行する必要があります。恒久的な解決策ではなく、たまった分を片付ける手段だと考えてください。
方法2:OS標準の自動化機能を組み合わせる
どちらのプラットフォームにも無料の自動化ツールがあり、多少の設定をすれば、ファイルの出現を監視するだけでなく中身に応じて動くようにできます。
Macでは、 Automatorのフォルダアクションでシェルスクリプトを実行し、新しく追加されたファイルに対してPDFのテキスト抽出コマンドを実行し、結果に特定のキーワードが含まれるかを確認してから移動する、といった処理が組めます。Apple Shortcutsでも、テキストやPDFを対象にした簡易版が作れます。
Windowsでは、 Power Automate Desktopでフォルダを監視し、ファイルが届いたときにフローを実行できますが、PDFやDOCXから中身のテキストを取り出すには追加のアクションやプラグインが必要になることが多く、実際の検証にはチュートリアルで想像するより時間がかかりがちです。
どちらの方法も、確かに無料です。ただしどちらも手早くはありません。トリガー、テキスト抽出、移動アクションを自分ですべて組み立てる必要があり、抽出ステップが特定のPDFのレイアウトにうまく対応できない場合、ルールは何のエラーも出さずにただ動かないことがあります。これがOS標準ルートの正直なトレードオフです。費用はゼロ、設定には確かな時間がかかり、うまくマッチしなかったときは自分で原因を探すことになります。
方法3:専用のファイル整理ソフトで内容ルールを設定する
専用のルールベースのファイル整理ソフトなら、同じ発想を一度設定するだけの条件に変えられます。File Arborでは、内容ルールはこのような形になります。
- 監視対象:
ダウンロード - 条件: 内容に「請求書, 領収書」を含む
- アクション:
書類/経理に移動
カンマ区切りの語句は「いずれかを含む」という意味なので、このひとつのルールで両方の単語を拾えます。内容のマッチングは大文字・小文字を区別しません。たとえば多くの請求書には日本語の本文と並んで英語のInvoiceという単語が印刷されていますが、ルール側でinvoiceと設定しておけば、InvoiceでもINVOICEでも同じようにマッチします。ラテン文字の綴りの違いにも寛容で、たとえば取引先が海外の場合、請求書に印字された社名Zürichに対して、ウムラウトを付けずにzurichと書いておくだけで一致します。大文字・小文字や綴りのバリエーションをこちらで網羅する必要はありません。
内部的には、File Arborは拡張子ではなく実際の中身からファイルの種類を判定し、ルールが必要とするときだけテキストを抽出するので、どの内容ルールにもマッチしないファイルはそもそもスキャンされません。読み取れるのは、テキストレイヤーを持つPDF、DOCXファイル、そしてTXT・MD・CSVといったプレーンテキスト形式です。制限もあります。1ファイルあたり32MBまで、抽出するテキストは先頭256KBまで、PDFは先頭20ページまで、処理時間は1ファイルあたり5秒までです。抽出した内容がディスクに書き込まれたり、どこかに記録されたりすることはありません。1.3.0以降は、スキャンした文書も読み取るよう設定したProのルールが、スキャンしたPDFと写真(JPEG、PNG、TIFF)もOCRで読み取ります。読み取るのは最初と最後のページで、1ページあたり約1秒です。
内容条件はバージョン1.2.0で追加されたPro限定の機能です。無料版でも1つのフォルダに対する拡張子によるルールは引き続き使えます。内容マッチングから先が、有料版の価値が問われるところです。
内容による振り分けは、ファイル名も変更してくれますか?
それだけでは変更されません。内容条件が決めるのはファイルの移動先フォルダだけで、それ以外は何もしません。名前の変更はルールの別の部分です。1.3.0以降、File Arborのルールはファイルの名前も変更でき、Proでは新しい名前に書類から読み取った値(日付、金額、請求書番号など)を含められます。値は、サンプル書類上で一度クリックして教えるか、値の隣に印字されたラベルを打ち込んで指定します。PDFを中身で自動リネームする方法では、請求書の日付を例に、その手順を順に紹介しています。
代替ツールのうち2つが先にこれを実現しており、それを黙っているのは誠実ではありません。Hazelの「Contents contain match」条件は、書類の一部をカスタムトークンとして取り込み、リネームアクションで使うことができると、Noodlesoft自身が公式に説明しています。File Jugglerも、書類の中から見つけたパターンや単語リスト変数からファイル名を組み立てられます。中身からのリネームこそが本当にやりたいことなら、今では3つのツールすべてにそれができ、File Arborは1.3.0以降です。
この点ははっきりさせておく価値があります。というのも、いま「ファイルを中身で振り分ける」という検索で上位に出てくるものの多くは、まったく別のカテゴリのツールだからです。書類を読み取り、その内容から新しいファイル名を生成するAI系のツールが一群あります。取引先名や日付、書類の種類を文字列から取り出し、2026-04-12-取引先名-請求書.pdfのような名前を組み立てる、というものです。これは便利な機能ですが、Hazel・File Juggler・File Arborとは別物です。これらは自分で書いたパターンや指し示した値で文字列を決定論的に取り込むのに対し、AIツールはモデルに名前を推測させます。AIによる自動生成のファイル名がやりたいことなら、それは別カテゴリのツールの領域です。
ルールベースの内容マッチングは、より狭く、より予測可能な仕組みです。同じファイルを同じルールに照らせば、毎回同じフォルダに着地します。何も推測されず、ファイルの中身そのものも、置き場所と、ルールがリネームする場合はその名前以外は何も変わりません。
内容による振り分けが読み取れないもの
内容マッチングのツールにはどれも実際の限界があり、それは機能一覧よりも重要です。File Arborでは、次のいずれも内容条件にはマッチしません。
- スキャンした書類や紙を撮影した写真(ルールがスキャンを読み取る場合を除く)。 テキストレイヤーがないため、OCRが実行されるまでルールが読み取れる文字が存在しません。1.3.0以降は、スキャンした文書も読み取るよう設定したProのルールが最初と最後のページにOCRを実行します。そうでなければ、スキャンした請求書は、ファイルシステムから見れば猫の写真と何ら変わりません。
- スプレッドシート。 XLSXファイルの中身は読み取り対象外です。
- Word文書のヘッダー・フッター・脚注。 本文のテキストのみが対象です。
- 暗号化・パスワード保護されたPDF。 パスワードなしではテキストを取り出せません。
暗号化PDFは些細な注記ではなく、実際の弱点であり、競合が明確に上回っている部分でもあります。Hazel 6は、OCR未処理のファイルに対してその場でテキスト認識を行う機能と、暗号化PDFにパスワードを与えてマッチングする機能を追加しました。File Arbor ProはOCRを1.3.0で追加しましたが、暗号化PDFを開く手段はありません。PDFに日常的にパスワードがかかっている環境なら、Hazel(Mac専用)はマッチしますが、File Arborのルールは黙って素通りします。
現実的な対策は、ルールを組む前に対象のPDFに本物のテキストレイヤーがあるかを確認することです。ない場合は、ルールにスキャンした文書を読み取らせる必要があります。Wordや最近のスキャナーアプリから書き出したPDFにはたいてい存在します。スマートフォンのカメラでページを撮影しただけのPDFには、たいてい存在しません。
正規表現で中身をマッチさせる
内容に「請求書」を含むのような単純な文字列マッチはほとんどのケースをカバーしますが、単語ではなくパターンが必要なこともあります。決まった書式の請求書番号や、いつも同じ形式で始まる管理コードなどです。File Arborの2つ目の内容条件である「内容が正規表現に一致」は、抽出したテキストに対して正規表現を適用します。「内容に含む」条件とは違い、こちらは文字通りの一致です。大文字・小文字の区別も綴りの正規化もありません。書いた通りの文字列がそのまま照合され、保存前にはすべてのパターンが破滅的バックトラッキングに対してチェックされます。
正規表現をこれまで書いたことがないなら、いきなりここから始めないでください。正規表現によるファイル整理入門ガイドで、ファイル名向けにコピペで使える10個のパターンとともに基礎から解説しています。同じパターンはファイルの中身にもそのまま使えます。違うのは、パターンを照らし合わせる対象がファイル名か、ファイルの中から抽出したテキストかという点だけです。
WindowsとMacで同じように使えますか?
同一のルールを両方のOSで使いたいなら、方法は一つしかありません。両プラットフォーム向けに作られたツールを使うことです。Hazelの内容条件はmacOSにしか存在せず、File Jugglerの内容条件はWindowsにしか存在しません。両方のプラットフォームを使っている人、あるいは環境を乗り換える人にとって、どちらのルールも一緒についてきてはくれません。
| 機能 | File Arbor | Hazel | File Juggler | organize(CLI) |
|---|---|---|---|---|
| プラットフォーム | Windows & Mac | Macのみ | Windowsのみ | Windows・Mac・Linux |
| インターフェース | グラフィカル | グラフィカル | グラフィカル | コマンドライン(YAML) |
| 内容条件 | あり(Pro) | あり | あり | あり |
| PDF/DOCX/テキストの読み取り | はい | はい | はい | はい |
| スキャンPDFのOCR | はい(Pro、1.3.0以降) | はい | いいえ | 記載なし |
| 暗号化PDF対応 | いいえ | はい | いいえ | いいえ |
| 内容への正規表現 | はい | 一部 | はい | はい |
| 内容からのリネーム | はい(Pro、1.3.0以降) | はい | はい | はい |
| リアルタイムのフォルダ監視 | あり(Pro) | あり | あり | なし(別途ラッパーが必要) |
| 無料ティア | あり(監視フォルダ1つ、ルール2つ、1日20ファイルまで、手動実行) | なし(14日間試用) | なし(30日間試用) | あり(無料・OSS) |
| 価格 | $24.99(Pro、一括購入) | $42(一括購入) | 買い切りライセンス | 無料 |
File Arborの立ち位置は狭く、具体的です。同じ2つの内容条件が、1つのアプリから、両方のOSで、Auto モードによってリアルタイムにフォルダを監視しながら動く。MacにおけるHazelやWindowsにおけるFile Jugglerより高機能というわけではなく、プラットフォームを選ばなくていい、というのがFile Arborの立ち位置です。
どの方法を使うべきか
「すでに散らかっているフォルダを、一度だけ片付けたい」 → 方法1を使ってください。一度きりの作業なら、内容検索と手作業のドラッグのほうが、自動化を組むより早く済みます。
「多少のスクリプトは苦にならないし、使っているOSは1つだけ」 → 方法2は費用がかかりません。フローを自分で組んで検証する意欲があれば、これで動きます。
「Macだけを使っていて、OCRを含む深い内容マッチングが欲しい」 → Hazelは見てみる価値があります。書類の中のテキストにマッチし、内蔵のOCRでスキャンしたPDFも読み取ります。
「Windowsだけを使っていて、書類内容マッチングの実績あるビジュアルなルールビルダーが欲しい」 → File JugglerはPDFやWordの内容マッチングで長い実績があり、正規表現や単語リスト変数にも対応しています。
「WindowsとMacの両方を使っている、または課金する前に内容ルールを試してみたい」 → File Arborはまさにこのために作られています。同じルールが両方のOSで動き、無料版で拡張子によるルールを試したうえで、内容マッチングにProの価値があるか判断できます。
「設定はコードとして管理したいし、YAMLにも抵抗がない」 → organizeは無料でクロスプラットフォーム、PDFやDOCXの内容も読み取れますが、グラフィカルな画面はありません。
内容による振り分けを、この先も整理された状態に保つには
まずは1つのフォルダと1つのルールから始めてください。多くの場合、最もファイルが集まるダウンロードが候補になります。捕まえたいファイルに確実に含まれている、あいまいさのない単語やフレーズをひとつ選び、初日からすべてを仕分けようとせず、決まった場所へ振り分けることに集中しましょう。
リアルタイムの自動化をオンにする前に、マッチするファイルをプレビューしてください。少し広すぎる内容ルールは、意図しないファイルまで拾ってしまいます。既存のファイルのまとまりに対してルールを修正するほうが、あとから誤った移動に気づいて直すよりずっと簡単です。
可能であれば、内容条件を種類や日付の条件と組み合わせてください。「PDFで、作成から1日以上経過していて、『請求書』を含む」は、「『請求書』を含む」だけよりずっと精度の高いルールになり、たまたま本文でその単語に触れているだけの無関係なファイルを誤って拾う可能性も減ります。
FAQ
ファイルの名前ではなく中身(内容)でフォルダに自動振り分けできますか?
はい。内容ベースのルールはPDFやWord文書、テキストファイルの中身を読み取り、そこに含まれる単語やパターンをもとにフォルダへ移動します。Hazel、File Juggler、オープンソースのorganize、File Arborはいずれもこの機能を何らかの形で備えており、4つとも読み取った内容から新しいファイル名を作ることもできます。File Arbor Proがこれを追加したのは1.3.0です。
内容で振り分ける機能は、中身の文字列をもとにファイル名も変更してくれますか?
そう指定した場合だけです。内容条件それ自体が決めるのは移動先のフォルダだけです。1.3.0以降、File Arbor Proは請求書の日付のような値を書類から読み取り、そこからファイル名を組み立てることもでき、Hazel・File Juggler・organizeと同様です。AI系のツールも中身から名前を作りますが、これはパターンで文字列を抜き出すのではなく内容を推測する、また別の方式です。
スキャンしたPDFや書類を撮影した画像でも、内容条件でマッチできますか?
OCRを実行するツールでのみ可能です。内容のマッチングはテキストレイヤーに依存し、スキャンしたPDFや書類を撮影した写真にはそれがないため、OCRが動くまで、内容条件には読み取れる文字がありません。Hazel 6はマッチング前にOCR未処理のファイルへテキスト認識を行い、1.3.0以降はFile Arbor Proも、ルールがスキャンした文書も読み取るよう設定されていれば同じことを行います。File Jugglerのドキュメントによると、スキャンには別のOCRソフトが必要です。
内容による振り分けは、AIによるファイル整理と同じものですか?
いいえ。内容ベースのルールは決定論的なテキスト・正規表現マッチングなので、同じファイルなら常に同じ結果になり、完全にオフラインで動作します。AIファイル整理ツールは言語モデルで意味を推測し、新しいファイル名を提案することが多くあります。どちらもファイルをフォルダへ振り分け、どちらも名前を変更できます。File Arbor Pro(1.3.0以降)、Hazel、File Juggler、organizeは、名前を推測するのではなく、指し示した値から名前を組み立てます。
内容による振り分けは、WindowsとMacで同じように使えますか?
ツールがクロスプラットフォーム対応の場合のみです。Hazelの内容条件はMac専用、File Jugglerの内容条件はWindows専用です。File Arborは「内容に含む」と「内容が正規表現に一致」という同じ2つの内容条件を、1つのアプリでWindowsとmacOSの両方にネイティブ対応させています。
内容による振り分けはFile Arborの無料版でも使えますか?
いいえ。内容条件はProの機能です。無料版は監視フォルダ1つ、ルール2つ、1日20ファイルまで、手動実行に対応しており、マッチングはファイルの拡張子で行います。内容条件はAuto モードや無制限のルールと同様、1回限り$24.99のProへのアップグレードが必要です。
まとめ
File Arborにおいて、内容による振り分けとはファイルの中に書かれている内容をもとに移動先を決めることであり、1.3.0以降はProでその内容からリネームすることもできます。HazelやFile Jugglerと同様です。WindowsもMacも、標準の検索機能を使えば無料で手作業のマッチングができ、スクリプトを組む根気があれば自動化もできます。専用のルールベースアプリ——お使いの環境に応じてFile Arbor、Hazel、File Juggler——を使えば、同じ発想を一度設定するだけのルールに変えられます。
WindowsとMacの両方を使っているなら、File Arborをダウンロードして、ダウンロードフォルダに内容ルールをひとつ試してみてください。無料版でも拡張子によるルールが自分の用途に合うかは十分に確認できます。内容マッチングを追加する準備ができたら、Proがそこにあります。