在文件中查找特定的文本

标题所说的简单…我以为我可以使用这些命令,因为find命令在其帮助上说了什么,但它不适用于我。 我错过了什么?

 dir /s /f *.txt | find "READONLY" 

我希望在每个.txt文件中find“READONLY”这个词的每一个出现。

编辑:当写这个问题时,我查找的build议和findstr命令出现了。 但是没有find任何东西。

我不确定你在做什么。

/ F选项对DIR命令无效。 更正 – 我被告知/ F选项是Windows 8功能。 忽略这个问题,你的命令试图在DIR命令的输出中查找字符串READONLY。 除非名称中包含文本“READONLY”的文件夹或文件名,否则永远不会发生。

如果要列出文件内容中包含“READONLY”的文件,则:

 findstr /s /m READONLY *.txt 

以上区分大小写。 如果你想不区分大小写,那么添加/I选项。

 findstr /s /m /i READONLY *.txt 

如果您想要列出具有READONLY属性的文件(不能修改它们),那么

 dir /s /ar *.txt 

在每个.txt文件中找到每一个“READONLY”这个词[从当前目录开始递归]

 for /f "tokens=1 delims=" %f in ('dir/s/b *.txt') do findstr "READONLY" %f 

如果您在脚本中运行,请务必将%替换为%%。

尝试使用

 grep -R 'READONLY' *.txt