2013-02-13 65 views
1

简单特定的文本...我想我可以使用,因为什么样的find命令在其帮助下说这些命令,但它不是为我工作。我错过了什么?在文件中查找

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

有了,我想找到的每.txt文件中的单词“READONLY”的每一次出现。

编辑:在写这个问题时,我查找了建议,并且findstr命令出现了。但它根本找不到任何东西。

回答

2

我不知道你正在尝试做的。

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

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

findstr /s /m READONLY *.txt 

以上是区分大小写的。如果你想不区分大小写,然后添加/I选项。

findstr /s /m /i READONLY *.txt 

如果要列出具有只读属性的文件,(你无法修改它们),然后

dir /s /ar *.txt 
+0

/f(Full Path)是Windows 8中'dir'的有效标志 – sebagomez 2013-02-13 13:24:35

+0

你是对的!我正在使用管道蠕虫。这其中的伎俩感谢'FINDSTR/S/M/I READONLY * .txt' – sebagomez 2013-02-13 13:26:47

+0

我投票这一项作为答案,因为看起来很简单 – sebagomez 2013-02-13 13:28:05

-1

尝试使用

grep -R 'READONLY' *.txt 
+0

'grep'不是Windows命令 – sebagomez 2013-02-13 14:11:14

1

查找单词“READONLY”的每一次出现在每一个.txt文件[递归从当前目录开始]

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

一定要与%%如果更换%”在脚本中重新运行。

+0

我认为它必须比使用以来的'find'说,来自其他命令可以管文件更容易了很多。谢谢 – sebagomez 2013-02-13 13:22:36