我可以在Windows Server 2008中执行“一次性”文件内容搜索,而无需将文件夹添加到索引中吗?


9

如果该文件夹不在搜索索引中,是否可以在该文件夹中搜索包含特定字符串的文件?

因此,可以说文件夹“ textFiles”不在索引中。我在Windows资源管理器中导航到该文件夹​​。我在搜索框中输入“ .ini”,我想查看仅包含“ b.txt”的结果列表

FOLDER C:\textFiles\

FILE  a.php  
CONTENT once twice thrice mice moose monkey

FILE b.txt
CONTENT mingle muddle middle.ini banana beer

FILE c.spo
CONTENT sellotape stapler phone book

我没有向Windows索引添加文件夹的权限,也没有安装或运行服务器或批准的应用程序未附带的任何可执行文件的权限。

如有必要,我会对Windows本机命令行解决方案感到满意。

Answers:


7

您可以使用Microsoft提供的命令行工具findstr.exe来执行此操作。

  1. 打开命令提示符并导航到c:\ textfiles

  2. 运行命令 findstr /L /M /C:"ini" *.*

    注意:您可以添加/ S来搜索所有子目录

有关FINDSTR的完整详细信息

  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[ ...]]

  /B         Matches pattern if at the beginning of a line.
  /E         Matches pattern if at the end of a line.
  /L         Uses search strings literally.
  /R         Uses search strings as regular expressions.
  /S         Searches for matching files in the current directory and all
             subdirectories.
  /I         Specifies that the search is not to be case-sensitive.
  /X         Prints lines that match exactly.
  /V         Prints only lines that do not contain a match.
  /N         Prints the line number before each line that matches.
  /M         Prints only the filename if a file contains a match.
  /O         Prints character offset before each matching line.
  /P         Skip files with non-printable characters.
  /OFF[LINE] Do not skip files with offline attribute set.
  /A:attr    Specifies color attribute with two hex digits. See "color /?"
  /F:file    Reads file list from the specified file(/ stands for console).
  /C:string  Uses specified string as a literal search string.
  /G:file    Gets search strings from the specified file(/ stands for console).
  /D:dir     Search a semicolon delimited list of directories
  strings    Text to be searched for.
  [drive:][path]filename
             Specifies a file or files to search.

Use spaces to separate multiple search strings unless the argument is prefixed
with /C.  For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y.  'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.

Regular expression quick reference:
  .        Wildcard: any character
  *        Repeat: zero or more occurrences of previous character or class
  ^        Line position: beginning of line
  $        Line position: end of line
  [class]  Character class: any one character in set
  [^class] Inverse class: any one character not in set
  [x-y]    Range: any characters within the specified range
  \x       Escape: literal use of metacharacter x
  \<xyz    Word position: beginning of word
  xyz\>    Word position: end of word

For full information on FINDSTR regular expressions refer to the online Command
Reference.

我知道你在那儿做什么...:D
Tamara Wijsman

谢谢!我本该想到的。赏金奖励
G-。

我做了什么 ..
G-。

1
@ G- .:那是指Jeremy,他如何使用“ smart @ $#”方法,同时我们提出了不太可行的解决方案。总是有第三个人来,并从其他正在战斗的人那里夺走骨头(赏金)总是很好的……
Tamara Wijsman 2012年

1

最简单的解决方案是,如果您具有权限,则立即关闭Windows搜索

  1. net stop wsearch

  2. 在Windows资源管理器中的文件夹中进行搜索,它将不进行索引搜索。

  3. net start wsearch

虽然这适用于小型文件夹,但大型文件夹可能会遇到问题。

搜索文件内容的替代方法

Windows Grepgrep通过提供允许您查看匹配行的GUI来基于linux 理念。这使您可以快速浏览文件以查找各种事件及其上下文:

它提供了很多搜索选项,因此也适用于更大或更复杂的文件夹:

如果您不花心地查看所有设置,它还有一个简单的向导,您可以配置文本结果的显示方式(行号,显示部分/整行,固定字体等)。

搜索文件名的替代方法

Search Everything是Windows最小的搜索引擎之一,因此易于获取和运行,它具有非常简洁的用户界面,可让您非常快速地索引文件并在其中搜索。它具有最小的资源使用量,并且如果您保持打开状态,则可以进行实时更新,因此,如果您愿意的话,它甚至可以替代Windows搜索。

我总共有904,108个文件和文件夹,与通常的用户相比,这是很多东西,当我键入类似的内容时,Super User它会立即显示出来。索引也不需要很长时间。因此,只需打开它几秒钟,然后用指尖进行即时搜索即可。

例如,您可以在以下文件夹中显示所有可执行文件: *.exe "C:\Program Files"


虽然“搜索所有内容”在工作时会很棒,但它并不能按照海报的要求进行文本搜索。它的内置限制是它可以处理的磁盘上的文件数超过一百万,超过该限制将无法使用,并且除非在Windows中运行,否则初始化搜索数据库可能会花费很长时间。在与开发人员就这些问题进行联系时,他表示开发已经停止,但他无意将其开源。
哈里姆克2012年

在我们的64位文件服务器上运行了“搜索所有内容”,并且该功能仍然有效,您在说的确切限制在哪里?Windows Grep似乎是救星?我们要谈随机假设的完整性吗?您似乎认为不完整会导致更高的质量?考虑什么呢?您正在尝试玩的那个医学游戏?无聊吧?质量>数量
Tamara Wijsman 2012年

也许您还应该告诉发布者为什么使用grep查找“ .ini”不是一个好主意。
harrymc 2012年

@harrymc:因为我们在这里寻找内容,所以有价值的内容 ……
Tamara Wijsman 2012年

2
感谢您的建议。但是,如上所述,我无法在服务器上安装其他可执行文件。“ wsearch”在我的安装中似乎不是有效的服务。
G-。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.