次の方法で共有


findstrコマンド

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

構文

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>[ ...]

パラメーター

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

注釈

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

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

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

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

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

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

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

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

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

  • 引数の前に /c が付いている場合を除き、スペースを使用して複数の検索文字列を区切ります。

例示

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

findstr hello there x.y

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

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に一覧表示されているファイルを検索し、結果をファイルの結果に格納します。out、次のように入力します。

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

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

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

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

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