PDFとWordファイルのフォルダー内のテキストを検索するには、MD FactoryでフォルダーをMarkdownに変換し、Markdownファイルを検索します。各ファイルは元のファイルの隣に保存されたプレーンテキストなので、Visual Studio CodeやPowerShellで、すべての文書から一度にフレーズを探し、見つかった行を表示できます。
変換は一度だけで、検索は何度でもできます。スキャンしたPDFも、変換中にテキストが認識されるため検索できます。
フォルダーを変換する
- MD Factoryを開いてフォルダーを追加をクリックするか、フォルダーをウィンドウにドラッグします。サブフォルダーも含まれます。
- 変換はすぐに始まります。すべての行に完了、要確認、失敗のいずれかが表示されるまで待ちます。
- ファイルの隣の要確認をクリックすると、確認事項が表示されます。スキャンの場合、よくある原因はOCRが読み取れなかったテキストです。読み取られなかったものは、検索でも見つかりません。
Contracts/
supplier-2025.pdf
supplier-2025.md
supplier-2026.docx
supplier-2026.md
Scans/
lease.pdf
lease.md
種類の混在したフォルダーでも使えます。PDF、Word、PowerPoint、Excel、電子書籍、保存したWebページ、メールはすべて変換されます。
検索の対象
| 文書 | 見つかるもの | 見つからないもの |
|---|---|---|
| テキストのPDF | 本文、見出し、表のセル | ページ番号(Markdownにはないため) |
| スキャンしたPDF | OCRが認識したテキスト | OCRが誤読したテキスト、または読み取れなかったテキスト |
| Word | 本文、見出し、表 | 脚注、文末脚注、ヘッダー、フッター |
| PowerPoint | スライドのテキストとスピーカーノート(非表示スライドを含む) | グラフとSmartArt |
| Excel | セルに保存された値 | 数式とセルのコメント |
脚注、文末脚注、ヘッダー、フッターのあるWordファイルは要確認になります。これらの部分は元の文書で検索してください。
Excelの日付は2026-03-15 00:00:00の形式で書き出されるため、その形式で日付を検索します。Excelのセル内のアンダースコアは_というコードで書き出されるため、order_idのような名前はorder_idとして保存されます。その形で検索してください。 Excelのガイド には、そのほかの変更点が載っています。
Visual Studio Codeで検索する
- Visual Studio Codeで、File、Open Folderの順に選び、フォルダーを指定します。
- Ctrl+Shift+Fを押し、フレーズを入力します。
- 元のファイルを除外するには、検索ボックスの下の三点ボタンをクリックし、files to includeボックスに*.mdと入力します。
結果はファイルごとにまとめられ、各ファイル名の下に一致した行が表示されます。行をクリックすると、その位置でファイルが開きます。検索ボックスの右のボタンで、大文字小文字の区別(Alt+C)、単語単位(Alt+W)、正規表現(Alt+R)をオンにできます。Visual Studio Codeの 基本編集のガイド には、複数ファイルの検索が載っています。
PowerShellで検索する
PowerShellをそのフォルダーで開きます。エクスプローラーでアドレスバーをクリックし、powershellと入力してEnterを押します。次を実行します:
Get-ChildItem -Recurse -Filter *.md | Select-String -Pattern "payment terms" -SimpleMatch -Encoding utf8
一致ごとに、ファイル、行番号、その行が出力されます。正規表現を使うには-SimpleMatchを外します。例えば2026-0[1-3]で、1月から3月の日付を探せます。-Context 1,1を付けると、各一致の前後1行が表示されます。
フレーズを含むファイルだけを一覧表示するには:
Get-ChildItem -Recurse -Filter *.md | Select-String -Pattern "payment terms" -SimpleMatch -Encoding utf8 | Select-Object -ExpandProperty Path -Unique
コマンドの-Encoding utf8は残してください。ないと、Windows PowerShellがアクセント付きの文字や非ラテン文字を誤読することがあります。オプションの説明は、Microsoftの次のページにあります: Select-Stringのリファレンス.
複数の単語で検索する、一致数を数える
2つのフレーズのどちらかを探すには、正規表現で縦棒でつなぎます:payment terms|late fee。Visual Studio Codeでは正規表現をオンにし、PowerShellでは-SimpleMatchを外します。
どの文書がフレーズを最も多く含むか調べるには、一致をファイルごとにグループ化します:
Get-ChildItem -Recurse -Filter *.md | Select-String -Pattern "late fee" -SimpleMatch -Encoding utf8 | Group-Object Path | Sort-Object Count -Descending | Select-Object Count, Name
結果を残すには、コマンドの末尾に| Out-File results.txt -Encoding utf8を追加します。
どのツールを使うか
| ツール | 向いているケース |
|---|---|
| Visual Studio Code | 見渡す:結果をクリックし、前後のテキストを読み、検索を変えてやり直す |
| PowerShell | 数える、一致するファイルを一覧にする、結果をファイルに保存する |
一致から元の文書へ移る
Markdownファイルは文書と同じ名前なので、supplier-2026.mdからsupplier-2026.docxに戻れます。Markdownにはページ番号がありません。ページを探すには、元の文書を開いてCtrl+Fを押し、同じフレーズを検索します。
一致を信頼する前に
一致したということは、そのテキストがMarkdownファイルにあることを示すだけで、正しいことは示しません。数値や条項を引用する前に、元の文書を開いてそこで読んでください。スキャンから認識したテキストでは特に重要です。
何も見つからないとき
- 単語を減らして検索します。元の文書では文が行やページをまたぐことがあり、短いフレーズなら一致します。
- 別の表記を試します。OCRは1をlに、5をSに読むことがあるので、疑わしい文字の前後の部分を検索してください。
- ファイルのステータスを確認します。失敗のファイルにはMarkdownファイルがなく、要確認は欠けている可能性のある部分を示しています。
検索を最新に保つ
文書が変更されたら、MD Factoryにもう一度追加します。Markdownファイルを編集していなければ、新しい結果で置き換えられます。編集していた場合は、新しい結果がsupplier-2026 (2).mdのように番号付きのコピーとして保存され、検索では両方が見つかります。
メモをObsidianで管理している場合は、Vault検索でも同じことができます。詳しくは ObsidianにPDFやWordファイルを取り込む方法をご覧くださいを参照してください。コーディングエージェントに同じフォルダーを検索させる場合は、次を参照してください: Claude Code、Cursor、CodexにPDFとWordファイルを渡す方法.
よくある質問
スキャンしたPDFの中のテキストも検索で見つかりますか?
はい。OCRが認識したテキストが、認識されたとおりの綴りで見つかります。
元のファイルは残しておく必要がありますか?
はい。ページ番号と正確なレイアウトは元のファイルにしかなく、一致を確認するために戻ることになります。