一部の文字列(レコードのテキストファイルの行)が特定の単語で始まるかどうかをバッチで確認するにはどうすればよいですか?
文/行(文字列)に単語(部分文字列)が存在するかどうかを確認する方法は知っていますが、この単語から始まる天気を確認するにはどうすればよいですか?
ありがとう :)
一部の文字列(レコードのテキストファイルの行)が特定の単語で始まるかどうかをバッチで確認するにはどうすればよいですか?
文/行(文字列)に単語(部分文字列)が存在するかどうかを確認する方法は知っていますが、この単語から始まる天気を確認するにはどうすればよいですか?
ありがとう :)
これは次のように行うことができますFINDSTR
:
FINDSTR "^searchterm"
検索式の^
先頭にあるは、特に行の先頭にある部分文字列を検索することを指定します。
デフォルトでFINDSTR
は、大文字と小文字を区別する検索が実行されることに注意してください。大文字と小文字に関係なく検索するには、/I
スイッチを指定します。
FINDSTR /I "^searchterm"
検索するソースを指定できます。
パラメータとして:
FINDSTR /I "^searchterm" filename
stdin
リダイレクションの使用:
FINDSTR /I "^searchterm" < filename
配管の使用:
command | FINDSTR /I "^searchterm"
(この場合、ソースはの出力ですcommand
)
複数のファイルを検索する場合、特にそれらが同じディレクトリまたはディレクトリツリーにある場合は、上記の3つの最初のパターンを使用するのがおそらく最も簡単です。これはfilename
、この場合はマスクである可能性があるためです。
FINDSTR /I "^searchterm" D:\path\to\files*.ext
上記は、指定されたディレクトリ内のファイルのみを検索します。ツリー全体、つまりすべてのサブディレクトリを検索するには、/S
スイッチを追加します。
FINDSTR /I /S "^searchterm" D:\path\to\files*.ext
その他の便利なオプションは、組み込みのヘルプ(run FINDSTR /?
)にあります。