在MS DOS中查找功能

时间:2012-06-13 14:24:09

标签: dos

是否可以使用find函数搜索文件夹并返回包含任何字符串集合的文件名称

例如,搜索文件夹并返回文件“Michael”,“Alan”,“Ben”等文件。

2 个答案:

答案 0 :(得分: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\*.*

答案 1 :(得分: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"

有关该错误的详细信息,请参阅Why doesn't this FINDSTR example with multiple literal search strings find a match?。我还建议您阅读What are the undocumented features and limitations of the Windows FINDSTR command?

如果您的任何搜索字符串包含空格,则需要使用/c选项。

如果您需要搜索许多搜索字符串,我建议您使用/g:file选项。

您可以从命令行键入HELP FINDSTRFINDSTR /?以获取可用选项的完整列表。