フォルダ内全てのファイルから文字列を一括検索する3つの方法(サブフォルダ含む)

記事内に広告が含まれています。

通常のテキストファイルや、それに準ずるファイル(css. html, php, js)やエクセルなどのファイルが沢山あり、それらの中から特定の文字列が含まれるファイルのみを検索したい!、含まれる場所の特定をしたい!、と一括で検索したい場合があります。

ここではフォルダ内、更にサブフォルダのファイルをすべて対象にして特定の文字列が含まれるファイルを検索したり、場所の特定をする簡単な方法をご紹介!

秀丸を使う

1つめはテキストエディタで有名な「秀丸」を使う方法。(非常に簡単に検索できます)

秀丸エディタ 公式サイトはこちら

フォルダ内をすべて検索

まず「秀丸」の上段のメニュー「検索」から「grepの実行」を選びます。

  • ①:メニューの「検索」をクリック
  • ②:「grepの実行」を選択

↓↓↓↓↓↓

grepの実行画面が表示されるので、
検索したい条件を設定。

  • ①:検索したい文字列を入力
    • この例では「keni_logo」という文字列を検索
  • ②:検索するファイルを指定
    • この例では「.php」と入力
    • 特定の拡張子をすべて対象にしたい場合には「*.拡張子」(テキストであれば「*.txt」)
    • 拡張子を問わずすべてのファイルを対象にしたい場合には「*.*」
  • ③:検索するフォルダを指定
  • ④:サブフォルダも検索対象に含めたい場合にはこちらにチェックを入れる

以上が終われば、⑤「OK」をクリック!
(で検索が始まります)

↓↓↓↓↓↓

検索が終わると、
以下のように「検索した文字列」が「黄色の背景」となった検索結果が表示されます。

この例では「keni_logo」という文字列を検索してます。

検索結果の見方

検索結果の見方は、例えば1行目を見ると以下の表示があります。

keni80-child\keni\module\keni-setting\keni-setting.php(402): function keni_logo() {

これから以下が分かります。(秀丸すごい!)

  • 「keni80-child」の中の「keni」というサブフォルダの(下の下の)「keni-setting」に「keni-setting.php」というファイルがあり、
  • その402行目に「keni_logo」があり、
  • その文字列が含まれる個所は「function keni_logo() {」

PowerShellを使う

秀丸はソフトのインストールが必要(一定期間までしか無料で使えない)ですが、Windowsであれば、秀丸を使わなくても標準装備されている「PowerShell」を使う、というのがあります。

PowerShellの起動

ではまず PowerShell を起動します。

以下Windows11の例ですが、
見え方は違ってもWindows10でも操作は同じ。

  • ① 虫眼鏡アイコン(検索)をクリック
  • ② 「Windows power shell」をコピペ
  • ③「Windows PowerShell」をクリック!

※)以下、Windows10の参考)
Windows10なら、スタートボタンから見つかります。

  • スタートボタンを右クリック(左端のWindowsマーク)
  • 「Windows PowerShell」を選択!

↓↓↓↓↓↓

以下のような画面が表示され、
Windows PowerShell が起動します。

(Windows11では背景が黒のようですが、以下はWindows10の例)

何やらエンジニアが使うような画面ですが、
検索で使う分には至って簡単。(恐れなくても全然大丈夫)

検索するフォルダへ移動

まず検索したいフォルダ(ディレクトリ)に移動します。

※)「フォルダ」と「ディレクトリ」は同じもの

「dir」というコマンドを使って、ディレクトリ(フォルダ)があるかをまず確認。

  • ①:「dir」を入力してエンターキー押下
  • ②:今いるディレクトリーのサブディレクトリ(サブフォルダ)が表示される

②で表示されたディレクトリの中で「目的のフォルダー」、または「目的のフォルダーが含まれるフォルダー」(ディレクトリ)を確認して、その目的のフォルダーに変更(移動)します。

目的のフォルダーに変更する場合「cd」というコマンドを使えば良いですね。
(「cd ディレクトリ名」と入力してエンターキーを押すだけ)

以下の画像中、上から5行目ぐらいに「Desktop」(デスクトップ)が見えますが、検索する対象のフォルダはデスクトップに行くと探しやすいの、まずデスクトップに移動してみます。

「cd desktop」と入力してエンター!

  • この例では、まず desktop に切り替える、ということで「cd desktop」を入力してエンターキー押下
  • 実際に切り替わると、切り替わったことが分かるように表示も変わる

このようにして、検索する対象のディレクトリー(フォルダー)にまずたどり着きます。

参考)ディレクトリーを切り替えるのに良く使われるコマンドを挙げておくと以下2つ。

  • 「cd ディレクトリ名」:ディレクトリを切り替える
  • 「cd ..」:1つ上の階層のディレクトリーに上がる
    (間違ったディレクトリーに切り替えた場合には「cd ..」を使えば元に戻れる(1つ上の階層に戻れる))

この2つを使って目的のフォルダーまで移動しましょう。

フォルダ内全てを対象に検索

フォルダー内に含まれるすべてのファイル(サブフォルダーも含む)を対象に文字列検索しますが、使うコマンドは以下の通り。

select-string “検索したい文字列” (dir -recurse 対象のファイル)

ここでは「.php」というファイル全てを対象に、「keni_logo」という文字列が含まれる「.php」というファイルを検索したいので、以下のようにします。

select-string “keni_logo” (dir -recurse *.php)

  • 「*.php」の「*」は全て、という意味
  • テキストファイルを対象にしたい場合には、「*.php」を「*.txt」に変える
  • ファイルの種類を問わず全てを対象にしたい場合には「*.*」とすればOK。

最後はエンターキー押下!

検索結果の見方

以下のように検索結果が表示されます。

細かくて見ずらい場合には画像をクリック!

検索結果の見方については、
例えば検索結果の1行目には以下が表示されてます。

keni80-child\keni\module\keni-setting\keni-setting.php:402:function keni_logo() {

見方は上の方で見た秀丸と同じですが、
文字列を左から順に見ていくと...

  • 「keni80-child」の中の「keni」というサブフォルダの(下の下の)「keni-setting」という名のフォルダに「keni-setting.php」というファイルがあり、
  • その402行目に「keni_logo」の文字列がある。
  • その文字列が含まれる個所は「function keni_logo() {」

秀丸にしても、この PowerShell にしても、
使い方が分かってればどちらも超簡単。凄いですね。

フォルダの検索を使う

もっとも手間いらずなのが、
検索したいフォルダを開き、そこで検索すること。

  • ① 検索したい文字列を入力(ここでは例として「keni-」)
  • ② 検索結果が表示される

フォルダーで検索するのはお手軽ですが、
検索結果(②)を見ると、検索した文字列(keni-)が含まれるフォルダやファイルが表示されますが、どんな感じで含まれるのかが分かりません。

(具体的に見るには、1つ1つ開いて見ないと分からない ^-^;)

検索結果が少なければ、フォルダからの検索で良いですが、
検索結果が多かったり、検索結果から詳しい情報を見たい場合には、上で見た Windows PowerShellなど使うのがおすすめになりそうです。

今回のポイント

何か情報を扱う場合、知らず知らずのうちにファイルが増え、あれが書いてあるのはどのファイルだっけ?と探しまくっても見つからない、みたいな場合があります。

早く知っておけばこんな苦労することなかったのに...というところですが、これからは大いに活用していきましょう。

ただ、こうした情報を整理する方法を知っても、技術はどんどん進歩して置いてかれる、若い世代に差をつけられるみたいな不安もつきまといます。先を見越して常に正しい知識を身につけておくことが大切ですね。

私はこれまでの経験を元に、将来を見て何かしておかなくては、と意識の高い方に向けてメルマガを発行しています。副業を中心に将来に役立つ情報を発信してますので、詳しくは、以下からチェックしてみてください。

早期退職して海外で奮闘する JIN のメールマガジン

時間や場所に縛られず稼いだJINが教える

~ 最短で月収10万円稼げるようになる方法 ~

お名前(全角文字)

隣のあの人にも、思わず教えたくなる秘密

配信停止は、いつでもできます

迷惑メールは一切配信されませんので、ご安心くださいね

自らの手で未来を変える力を手に入れる!

コメント