【问题标题】:findstr ms-dos command won't search sub directoriesfindstr ms-dos 命令不会搜索子目录
【发布时间】:2012-02-01 14:01:38
【问题描述】:

我不得不在 Windows 7 中关闭我的 Windows 搜索索引,因为旧硬盘在打开索引时不断发出噪音!

现在我想使用 Windows 命令提示符在当前目录和子目录中的所有文件中搜索特定文本词

如何使用 Windows 命令 findstr 搜索子目录?

目前,当我打开命令提示符并将目录更改为C:\Users\Damien\Documents\Research\2012July 并运行命令findstr "thesis" *.tex /S 时,出现以下错误:

FINDSTR: Cannot open /s

如果我删除 /S,此命令将搜索当前目录,但我也希望能够在子文件夹中搜索文本。

【问题讨论】:

  • 作为评论发布,因为我知道这不是您想要的答案,但是:安装 Cygwin (www.cygwin.org),您将拥有一整套一致、实用、良好的记录在案的命令行工具,总是能正常工作。 UNIX find 命令无限灵活和强大——当然可以在这里做你想做的事。

标签: windows findstr


【解决方案1】:

你需要把/S放在开头,即:

findstr /S "thesis" *.tex

来自内置帮助:

C:\>findstr /?
Searches for strings in files.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        strings [[drive:][path]filename[ ...]]

您的修饰符/开关,无论它们被称为什么,都需要您的模式/字符串之前出现

【讨论】:

  • @Jon 如果我还想指示路径(即 findstr /S "some_string" *.txt PATH?)我将如何构造语法,我将在哪里以及如何指示文件夹的路径我要搜索的子文件夹。谢谢
【解决方案2】:

你的论点顺序错误,试试这个:

findstr /S "thesis" *.tex

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-04
    • 2014-06-13
    • 2011-08-17
    • 1970-01-01
    • 2017-11-16
    • 2012-08-04
    • 2011-11-27
    • 1970-01-01
    相关资源
    最近更新 更多