findstr

ファイル内のテキストのパターンを検索します。

Syntax

findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<file>] [/c:<string>] [/g:<file>] [/d:<dirlist>] [/a:<colorattribute>] [/off[line]] <strings> [<drive>:][<path>]<filename>[ ...]

Parameters

Parameter Description
/b テキスト パターンが行の先頭にある場合に一致します。
/e テキスト パターンが行の末尾にある場合に一致します。
/l 検索文字列を文字どおり処理します。
/r 検索文字列を正規表現として処理します。 これが既定の設定です。
/s 現在のディレクトリとすべてのサブディレクトリを検索します。
/i 文字列を検索するときに、文字の大文字と小文字を無視します。
/x 正確に一致する行を出力します。
/v 一致するものが含まれていない行のみを印刷します。
/n 一致する各行の行番号を出力します。
/m ファイルに一致するものが含まれている場合は、ファイル名のみを出力します。
/o 一致する各行の前に文字オフセットを出力します。
/p 印刷できない文字を含むファイルをスキップします。
/off[line] オフライン属性が設定されているファイルはスキップしません。
/f:<file> 指定したファイルからファイル リストを取得します。
/c:<string> 指定したテキストをリテラル検索文字列として使用します。
/g:<file> 指定したファイルから検索文字列を取得します。
/d:<dirlist> 指定したディレクトリの一覧を検索します。 各ディレクトリは、セミコロン (;)、 dir1;dir2;dir3 など) で区切る必要があります。
/a:<colorattribute> 2 桁の 16 進数の色属性を指定します。 詳細については、「 color /? 」と入力します。
<strings> ファイル名で検索するテキストを指定します。 Required.
[\<drive>:][<path>]<filename>[...] 検索する場所とファイルを指定します。 少なくとも 1 つのファイル名が必要です。
/? コマンド プロンプトにヘルプを表示します。

Remarks

  • すべての findstr コマンド行オプションは、コマンド文字列の文字列とファイル名の前に置く必要があります。

  • 正規表現では、文字の正確な文字列ではなく、リテラル文字とメタ文字の両方を使用してテキストのパターンを検索します。

    • リテラル文字は、正規表現構文で特別な意味を持たない文字です。代わりに、その文字の出現と一致します。 たとえば、文字と数字はリテラル文字です。

    • メタ文字は、正規表現構文で特別な意味 (演算子または区切り記号) を持つ記号です。

      受け入れられるメタ文字は次のとおりです。

      Meta-character Value
      . ワイルドカード - 任意の文字
      * 繰り返し - 前の文字またはクラスが 0 回以上出現します。
      ^ 開始行の位置 - 行の先頭。
      $ 終了行の位置 - 行の末尾。
      [class] 文字クラス - セット内の任意の 1 文字。
      [^class] 逆クラス - セットに含まれていない任意の 1 つの文字。
      [x-y] 範囲 - 指定した範囲内の任意の文字。
      \x スケープ - メタ文字の文字の文字通りの使用。
      \<string 単語の開始位置 - 単語の先頭。
      string\> 終了単語の位置 - 単語の末尾。

      正規表現構文の特殊文字は、一緒に使用する場合に最も強力です。 たとえば、ワイルドカード文字 (.) と繰り返し (*) 文字の組み合わせを使用して、任意の文字列に一致させます。 .*

      次の式を大きな式の一部として使用して、 b で始まり ing で終わる文字列を一致させます。 b.*ing

  • 一連のファイルで複数の文字列を検索するには、個別の行に各検索条件を含むテキスト ファイルを作成する必要があります。

  • 引数の先頭に /c が付いていない限り、スペースを使用して複数の検索文字列を区切ります。

Examples

ファイル x.yhello or there を検索するには、次のように入力します。

findstr hello there x.y

ファイル x.yhello を検索するには、次のように入力します。

findstr /c:"hello there" x.y

ファイル proposal.txtWindows という単語 (頭文字が大文字 W の場合) をすべて検索するには、次のように入力します。

findstr Windows proposal.txt

現在のディレクトリ内のすべてのファイルと、大文字と小文字に関係なく、 Windows という単語を含むすべてのサブディレクトリを検索するには、次のように入力します。

findstr /s /i Windows *.*

FOR で始まり、前に 0 個以上のスペースが付く行をすべて検索し (コンピュータプログラムループのように)、各出現箇所が見つかった行番号を表示するには、次のように入力します。

findstr /b /n /r /c:^ *FOR *.bas

テキストファイルで検索するファイルを正確にリストするには、ファイル stringlist.txtの検索条件を使用して、 filelist.txtにリストされているファイルを検索し、その結果を ファイル results.out に格納します。

findstr /g:stringlist.txt /f:filelist.txt > results.out

現在のディレクトリ内の computer という単語を含むすべてのファイルと、大文字と小文字に関係なくすべてのサブディレクトリを一覧表示するには、次のように入力します。

findstr /s /i /m \<computer\> *.*

コンピューターという単語と comp で始まる他の単語 (補完や競合など) を含むすべてのファイルを一覧表示するには、次のように入力します。

findstr /s /i /m \<comp.* *.*