Macで拡張子を指定して検索する|Finderの条件行と mdfind

Macで拡張子を指定してファイルを検索するいちばん確実な方法は、Finderで検索を始めてから条件行を追加し、左のポップアップメニューの「その他…」から「ファイル拡張子」を選んで、ピリオドを付けずに pdf や psd と入力することです。ターミナルなら、索引を使う mdfind か、フォルダを実際にたどる find を使います。この記事では、2026年10月9日に macOS 27.0.1 の実機で画面の名前とコマンドの結果を確かめたうえで、それぞれの手順と、結果が食い違うときの見分け方を整理します。

検索欄に「.pdf」と打つだけでは、名前の途中に pdf を含む項目や、本文に pdf という文字を含む書類まで並びます。拡張子で絞りたいのに余計なものが混ざるのは、操作の誤りではなく、検索欄の既定の動きがそうなっているためです。

拡張子で探す方法は4つある

Macで拡張子を条件にファイルを探す手段は、大きく分けて次の4つです。

  • Finderの検索に「ファイル拡張子」の条件行を足す
  • Finderの検索に「名前」の条件行を足し、末尾の一致で絞る
  • ターミナルで mdfind を使い、Spotlightの索引に問い合わせる
  • ターミナルで find を使い、フォルダを1つずつたどる

前の3つは、どれもSpotlightが作った索引を見ています。速い代わりに、索引に入っていない場所のファイルは出てきません。最後の find だけは索引を使わず、ディスクを直接読みます。時間はかかりますが、索引の有無に左右されません。

どれを使うかは、探す回数と場所で決まります。1回だけ探すならFinderの条件行で足ります。同じ条件で何度も探すならスマートフォルダとして保存します。結果を別のコマンドに渡したい、または外付けディスクやネットワーク上のフォルダを探したいなら、ターミナルが向いています。

「種類」の条件で「画像」や「書類」を選ぶ方法もありますが、これは拡張子ではなく、macOSがそのファイルを何として扱っているかで絞る条件です。「画像」を選べばPNGもJPEGもHEICも一緒に並ぶため、PSDだけ、CR3だけ、のような絞り方には向きません。

Finderで「ファイル拡張子」の条件行を出す手順

Finderには拡張子を直接照合する条件が用意されていますが、最初のメニューには表示されません。次の順に操作します。

  1. Finderで探したいフォルダを開き、Command+Fキーを押す
  2. 検索欄の下に出る範囲のボタンで、「このMac」ではなくフォルダ名のほうを選ぶ
  3. 右端の+ボタンをクリックして条件行を1つ追加する
  4. 条件行の左のポップアップメニューを開き、いちばん下の「その他…」を選ぶ
  5. 属性の一覧の上にある検索欄に「拡張子」と入力し、「ファイル拡張子」を選んで「OK」をクリックする
  6. 条件行が「ファイル拡張子」に変わるので、右の欄に psd のようにピリオドを付けずに入力する

これで、名前が本当にその拡張子で終わるファイルだけが並びます。Appleの案内も、最初のメニューに無い属性はこの「その他」から追加する手順を示しています。

条件を追加するには、「その他」を選択して、追加したい各属性を選択します。 出典: support.apple.com

同じ一覧には、覚えておくと役に立つ属性があと2つあります。1つは「システムファイル」で、条件行を「システムファイルを含む」にすると、ライブラリフォルダの設定ファイルやプラグインのような、通常は検索結果に出ない項目も対象になります。もう1つは「RAWクエリ」で、後で触れる mdfind と同じ書き方の問い合わせ文をそのまま入力できます。

条件行を1つ追加するたびに、結果は「すべての条件を満たすもの」に絞られていきます。PSDとAIのファイルを同時に探したいときのように、どちらかに当てはまればよい場合は、Optionキーを押したまま+ボタンをクリックし、条件のまとまりを追加して「次のいずれかの条件を満たす」を選びます。1つのファイルが2つの拡張子で同時に終わることはないため、複数の拡張子をまとめて探すときは、この切り替えが要ります。

「名前」の条件で末尾を指定する近道

属性の一覧を開くのが手間なら、最初から表示されている「名前」の条件行でも近い結果が得られます。条件行の左を「名前」にし、右隣のポップアップメニューで「で終わる」を選び、.psd とピリオド込みで入力します。

この方法には弱点が1つあります。名前の末尾だけを見るため、archive.psd という名前のフォルダのように、ファイルではない項目も条件に当てはまります。ファイルだけが欲しいときは、「ファイル拡張子」の条件行を使うか、条件をもう1行足して「種類」を「フォルダ」以外に絞ります。

拡張子が画面に表示されていないと、結果を見ても本当にその拡張子なのか判断できません。Finderの「設定」の「詳細」にある「すべてのファイル名拡張子を表示」にチェックを入れておくと、一覧の名前の末尾に拡張子が出ます。Appleの案内によると、この項目を選ぶと、ファイルごとに「拡張子を非表示」を選んであるものも含めて、すべての拡張子が表示されます(ファイル名拡張子を表示する/非表示にする)。

検索の範囲が毎回「このMac」に戻るのを止める

拡張子で絞ったのに件数が多すぎるとき、原因は条件ではなく範囲にあることがほとんどです。Finderの初期設定では、どのフォルダでCommand+Fキーを押しても、検索の範囲はMac全体になります。案件のフォルダで psd を探したつもりが、キャッシュやダウンロードフォルダの同じ拡張子のファイルまで並ぶのはこのためです。

範囲の既定は、Finderのメニューの「Finder」から「設定」を開き、「詳細」の「検索実行時:」で変えられます。選べるのは次の3つです。

  • このMacを検索
  • 現在のフォルダ内を検索
  • 前回の検索範囲を使用

特定のフォルダの中で拡張子を探すことが多いなら、「現在のフォルダ内を検索」に変えておくと、毎回フォルダ名のボタンを押し直す手間がなくなります。検証に使ったMacでは、この設定を一度も変えていない状態で、設定値が保存されていませんでした。既定のまま使っている場合は「このMacを検索」が選ばれています。

逆に、何度探しても出てこないときは、範囲が狭すぎるか、そもそも索引に入っていない場所かのどちらかです。「システム設定」のサイドバーで「Spotlight」を選び、右下の「検索のプライバシー」を開くと、索引から外している場所の一覧が見られます(特定のフォルダやディスクをSpotlight検索から除外する)。ここに入っているフォルダは、Finderの検索にも mdfind にも出てきません。

何度も探す条件はスマートフォルダに保存する

条件行を組み立てた検索は、検索欄の下にある「保存」をクリックするとスマートフォルダとして残せます。保存の画面で「サイドバーに追加」にチェックが入っていれば、Finderのサイドバーに並び、クリックするたびにその時点の結果が表示されます。

たとえば、案件フォルダの中で「ファイル拡張子が sketch である」を保存しておけば、新しいSketchファイルが増えても、一覧を作り直す必要はありません。Appleの案内にも、条件を満たすファイルを追加、変更、削除すると、スマートフォルダの一覧が自動で更新されると書かれています(スマートフォルダを作成する/変更する)。保存したあとで条件を変えたいときは、スマートフォルダを開き、ツールバーのアクションボタンから「検索条件を表示」を選びます。

注意したいのは、スマートフォルダはファイルの入れ物ではないことです。中に並んでいるのは元の場所にあるファイルそのものなので、スマートフォルダから別の場所へドラッグすると、元のファイルが移動します。スマートフォルダ自体をゴミ箱に入れても、消えるのは保存した条件だけで、ファイルは残ります。

ターミナルの mdfind で拡張子を指定する

ターミナルで索引に問い合わせるには mdfind を使います。拡張子で正確に絞るには、ファイル名の属性 kMDItemFSName をワイルドカードで照合します。

mdfind -onlyin ~/Downloads "kMDItemFSName == '*.pdf'"

-onlyin の後ろに書いたフォルダの中だけが対象になります。ここで気を付けたいのが大文字と小文字です。検証に使ったMacのダウンロードフォルダで、同じフォルダに対して3通りの書き方を試した結果は次のとおりでした。

書き方 返った件数
'*.pdf' 341件
'*.PDF' 0件
'*.PDF'c 341件

条件の閉じ引用符の直後に c を付けると、大文字と小文字を区別しない比較になります。Windowsから移したファイルやスキャナが書き出したファイルは、拡張子が .PDF や .JPG のように大文字になっていることがあるため、c を付けておくと取りこぼしを防げます。

もっと短く書ける -name オプションは、拡張子の検索には向きません。-name はファイル名のどこかにその文字列を含むものをすべて返すためです。同じフォルダで mdfind -name pdf を実行すると356件が返り、その中には名前に Pdf を含むだけの設定ファイルや、名前に PDF を含むフォルダが含まれていました。拡張子で絞る目的なら、kMDItemFSName を使った書き方を選びます。

ファイルが索引にどう登録されているかは、mdls で確かめられます。mdls -name kMDItemContentType に続けてファイルのパスを渡すと、PSDなら com.adobe.photoshop-image、Markdownなら net.daringfireball.markdown のような値が返ります。Finderの「種類」の条件はこの値を見ているため、「種類」で絞った結果が期待と違うときの手がかりになります。

索引を使わない find で拡張子を指定する

find は索引を使わず、指定したフォルダの中を実際にたどってファイル名を比べます。

find ~/Downloads -type f -iname "*.pdf"

-iname は大文字と小文字を区別しない比較で、-name にすると区別します。-type f を付けると、ファイルだけが対象になり、archive.psd のような名前のフォルダは外れます。検証用のフォルダで -type f を外して実行すると、psd で終わるフォルダも結果に入りました。

検索の参考になる海外の解説記事でも、コマンドラインで拡張子を指定する方法として次の形が紹介されています。

For command line, use find ~/Path -iname "*.pdf". 出典: fileminutes.com

mdfind と find では、同じフォルダでも件数が一致しないことがあります。先ほどのダウンロードフォルダでは、mdfind が341件だったのに対し、find -iname は387件を返しました。差の46件は、アプリの中身のように索引の対象から外れている場所や、まだ索引に入っていないファイルです。Finderで見つからないファイルが find では見つかるときは、ファイルが無いのではなく、索引に入っていないと判断できます。外付けディスクやネットワーク上のフォルダで拡張子を探すときも、find のほうが確実です。

検索結果を次の作業へつなぐときの考え方

拡張子で探す場面の多くは、探して終わりではありません。見つけたPDFをまとめて別のフォルダへ移す、PSDの一覧を書き出して共有する、Markdownのファイルを生成AIに読ませる、といった次の作業が続きます。このとき手間になるのは、Finderで結果を確かめ、ターミナルでコマンドを打ち、またFinderに戻る、という窓の行き来です。

ターミナルは開いた時点で別のフォルダにいるため、Finderで見ていたフォルダに cd で移動し直す必要があります。パスに空白や日本語が入っていると、入力の手間も間違いも増えます。mdfind の -onlyin や find の最初の引数にフォルダのパスを毎回書くのも、同じ理由で負担になります。

この行き来を減らす方法の1つが、フォルダの一覧とターミナルを同じ窓に並べたファイル管理アプリを使うことです。開いているフォルダごとにターミナルが付いていれば、cd を打たずにその場で find を実行でき、結果のファイルを隣の一覧ですぐに確かめられます。画面の構成や、スマートフォルダとして保存した検索の扱いは できること に、Finderやほかの道具との違いは 他のファイル管理との比較 にまとめられています。Mac の中で使う機能は無料で、有料になるのはiPhoneやiPadから使う場合だけであることが 料金 に、対応するmacOSの版などは よくある質問 に書かれています。

どの方法を選ぶ場合も、拡張子の検索で迷ったら、まず範囲が合っているか、次に索引に入っている場所か、最後に大文字と小文字を区別していないかの順に確かめると、原因を早く絞り込めます。

よくある質問

Finderの条件に「ファイル拡張子」が見つからないのはなぜですか?

「ファイル拡張子」は最初のポップアップメニューには並んでいません。条件行の左のメニューで「その他…」を選び、属性の一覧の上にある検索欄に「拡張子」と入力すると見つかります。選んで「OK」をクリックすると、条件行が「ファイル拡張子」に切り替わります。

拡張子を入力するとき、先頭のピリオドは必要ですか?

「ファイル拡張子」の条件行では、pdf や psd のようにピリオドを付けずに入力します。一方、「名前」の条件行で「で終わる」を選ぶ場合は、.pdf のようにピリオドを含めて入力すると、名前の途中に pdf が入っている項目を外せます。ターミナルの find や mdfind では "*.pdf" の形で書きます。

Finderでは見つからないファイルが find では見つかるのはなぜですか?

Finderの検索と mdfind はSpotlightの索引を使い、find は索引を使わずにフォルダを直接たどるためです。「システム設定」の「Spotlight」の「検索のプライバシー」で除外した場所や、索引が作られていない外付けディスクのファイルは、Finderでは出てきません。その場合は find で探すのが確実です。

複数の拡張子をまとめて検索するにはどうすればよいですか?

Finderでは、Optionキーを押したまま条件行の+ボタンをクリックして条件のまとまりを追加し、「次のいずれかの条件を満たす」を選んでから、拡張子ごとに条件行を並べます。ターミナルでは find ~/Pictures -type f ( -iname ".cr3" -o -iname ".nef" ) のように -o でつなぎます。

記事一覧へ戻る