1

検索機能を使用してフォルダを検索し、文字列のコレクションのいずれかを含むファイルの名前を返すことは可能ですか?

たとえば、フォルダを検索して、「Michael」、「Alan」、「Ben」などのテキストを含むファイルを返します。

4

2 に答える 2

2

FindstrコマンドDOSおよびWindowsを使用できます。

FINDSTR [options] [/F:file] [/C:string] [/G:file]
        [/D:DirList] [/A:color] [/OFF[LINE]] [string(s)] [pathname(s)]

Literal search

Search a text file mydir\*.* that contains the following

The quick brown fox The really ^brown^ fox

A literal search will ignore any special meaning for the search characters:

FINDSTR /C:"^brown" mydir\*.*
于 2012-06-13T14:31:00.870 に答える
0

DOSにFINDSTRがあるとは思いませんでしたが、持っている場合は、次のコマンドを使用して、内容に「fox」または「dog」が含まれているファイルの名前を見つけることができます。

findstr /ml "fox dog" "myDir\*"

また

findstr /m /c:"fox" /c:"dog"

ただし、FINDSTRの厄介なバグがあり、長さが異なる複数のリテラル検索文字列があり、検索で大文字と小文字が区別される場合に一致するはずのファイルが失われる可能性があります。「犬」と「狐」は同じ長さなので問題ありません。しかし、実際の検索文字列の長さはさまざまだと思います。大文字と小文字を区別しない検索で問題を回避できることを願っています。これにより、バグが回避されます。

findstr /mli "string1 string2IsLonger" "myDir\*"

また

findstr /mi /c:"string1" /c:"string2IsLonger"

複数のリテラル検索文字列を使用したこのFINDSTRの例で一致が見つからないのはなぜですか?を参照してください。バグの詳細については。また、WindowsFINDSTRコマンドの文書化されていない機能と制限は何ですか?を読むことをお勧めします。。

検索文字列のいずれかにスペースが含まれている場合は、このオプションを使用する必要があり/cます。

多くの検索文字列を検索する必要がある場合は、この/g:fileオプションを使用することをお勧めします。

HELP FINDSTRまたはFINDSTR /?コマンドラインから入力して、使用可能なオプションの完全なリストを取得できます。

于 2012-06-13T22:32:29.703 に答える