ファイルまたはファイル内のテキストの文字列を検索し、指定した文字列を含むテキスト行を表示します。
構文
find [/v] [/c] [/n] [/i] [/off[line]] <"string"> [[<drive>:][<path>]<filename>[...]]
パラメーター
パラメーター | 説明 |
---|---|
/v | 指定した <string> を含まないすべての行を表示します。 |
/c | 指定した <string> を含む行をカウントし、合計を表示します。 |
/n | 各行の前にファイルの行番号が付きます。 |
/私 | 検索で大文字と小文字が区別されないことを指定します。 |
[/オフ[ライン]] | オフライン属性が設定されているファイルはスキップしません。 |
<"string"> |
必須。 検索する文字のグループ (引用符で囲む) を指定します。 |
[<drive>:][<path>]<filename> |
指定した文字列を検索するファイルの場所と名前を指定します。 |
/? | コマンド プロンプトにヘルプを表示します。 |
終了コード
終了コード | 説明 |
---|---|
0 | 検索された文字列が見つかりました |
1 | 検索された文字列が見つかりません |
2 | 検索されたファイルが見つからないか、無効なコマンド ライン スイッチが指定されました |
注釈
/i を使用しない場合、このコマンドは、指定した文字列を正確に検索します。 たとえば、このコマンドは
a
文字とA
を異なる方法で処理します。 ただし、 /i を使用すると、検索では大文字と小文字が区別されず、a
とA
は同じ文字として扱います。検索する文字列に引用符が含まれている場合は、文字列に含まれる各引用符に二重引用符を使用する必要があります (例: ""この文字列には引用符が含まれています")。
ファイル名を省略すると、このコマンドはフィルターとして機能し、標準の入力ソース (通常はキーボード、パイプ (|)、またはリダイレクトされたファイル) から入力を受け取り、 文字列を含む行を表示します。
コンソール検索を終了するには、
CTRL-X
またはCTRL-z
を使用します。find コマンドのパラメーターとコマンド ライン オプションは、任意の順序で入力できます。
検索された文字列にワイルドカード (* と ?) を使用することはできません。 ワイルドカードと正規表現パターンを含む文字列を検索するには、 FINDSTR コマンドを使用します。
同じコマンド ラインで /c と /v を使用すると、指定した文字列を含まない行の数が表示されます。 同じコマンド ラインで /c と /n を指定すると、/n は無視されます。
このコマンドは復帰を認識しません。 このコマンドを使用して復帰を含むファイル内のテキストを検索する場合は、検索文字列を、復帰の間に見つかるテキスト (つまり、復帰によって中断されない可能性が高い文字列) に制限する必要があります。 たとえば、このコマンドは、単語の税とファイルの間に復帰が発生した場合、文字列税ファイルの一致を報告しません。
このコマンドは、ファイル名のワイルドカードを受け入れます。 ファイル (またはファイル) で検索すると、処理されたファイルの前に 10 個のダッシュが付いたファイルが出力されます。
Find コマンドは代替データ ストリームを読み取ることができません。 代替データ ストリームで検索する場合は、 findstr、 more 、または /f コマンドを 使用します。
例示
文字列鉛筆シャープナーを含む pencil.md からのすべての行を表示するには、次のように入力します。
find "pencil sharpener" pencil.md
このテキストを見つけるには、「科学者たちはディスカッション専用の論文にラベルを付けた。これは最終的なレポートではありません。report.txt ファイル内の引用符を含め、次のように入力します。
find """The scientists labeled their paper for discussion only. It is not a final report.""" < report.txt
一連のファイルを検索するには、ワイルドカードを使用できます。 拡張子が .bat で、大文字と小文字を区別しないで文字列 PROMPT を含むファイルを現在のディレクトリで検索するには、次のように入力します。
find /i "PROMPT" *.bat
文字列 CPU を含むディレクトリ内のファイル名を検索するには、パイプ (|) を使用して 、次のように dir コマンドの出力を find コマンドに送ります。
dir c:\temp /s /b | find "CPU"
エージェントが含まれていない実行中のすべてのプロセスを検索します。
tasklist | find /v /i "agent"
サービスが実行されているかどうかを確認します。
sc query Winmgmt | find "RUNNING" >nul 2>&1 && (echo service is started) || (echo service is stopped)