CMD 搜索目录以查找文件中的字符串

问题描述 投票:0回答:4

我需要使用 Windows CMD 提示符查找目录中具有特定字符串的文件。

例如,我需要找到具有如下字符串的文件:

<h1>Select an Item</h1>
cmd command-prompt
4个回答
23
投票

“findstr”就是您要找的。

findstr /I "<h1>Select\ an\ Item</h1>" *.*

findstr
是命令,
/I
是匹配字符串大小写的标志。
"<h1>Select\ an\ Item</h1>"
是您的字符串(注意转义的空格!),
*.*
表示“在此目录中的所有文件中”。

基本语法是

findstr "seachString" filename.ext
。 您可以将
filename.ext
替换为
*.ext
*.*
来过滤白痴文件类型或查看所有文件。 这只会在当前目录中查找,而不是递归地查找。

有关命令的更多信息 findstr 文档


9
投票
  1. 打开 Windows 控制台(或 CMD)。
  2. 转到您要开始搜索的文件夹。
  3. 假设您在文件夹中搜索文本(例如“abc”),特别是在所有 Word 文件(例如“.doc”和“docx”)中。那么命令应该是这样的
findstr /s /i /m /c:"abc" *.docx *.doc

其中

/s
递归搜索(包括子目录),
/i
表示搜索不区分大小写,而
/m
如果存在匹配则仅打印文件名(有关参数的更多信息可以在 here 找到)。

您将获得包含该文本的所有 Word 文档的列表。


5
投票

您需要的命令基本上是

findstr

类型

findstr /?

根据指示提示。

可能对您有用的命令是

findstr /m /g:"a file containing your string or strings" *

findstr /m /L /c:"<h1>Select an Item</h1>" *

可能需要对

"quoted string"
的内容进行一些实验,尤其是字符行
<>()
和其他对
cmd.exe
具有特定含义的内容。


1
投票

在当前目录的所有文本文件中查找某个字符串:

cls & for %i in (*.txt) do find /i "search text" < "%i" && (echo : %i & echo -)

在 Win 10 中测试

© www.soinside.com 2019 - 2024. All rights reserved.