开车搜索

时间:2009-10-13 15:17:57

标签: c# regex search

我正在开发一个应用程序,我希望能够在整个驱动器中搜索正则表达式。我宁愿在c#中这样做,但我可以打电话给其他语言。有没有简单的方法可以从开始到结束寻找驱动器上的所有二进制数据?

5 个答案:

答案 0 :(得分:1)

这是C#

中grep的一个实现

http://dotnet.jku.at/applications/Grep/Src.aspx

您可以修改以遵循子目录 - 它可以使用文件名数组。

答案 1 :(得分:0)

AFAIK在原始二进制数据上没有简单的方法(你需要直接磁盘控制)。

如果file-basis足以枚举所有文件,打开它们进行二进制共享读取(捕获受系统保护的异常),然后查找数据应该很简单。然而,由于枚举和打开所有文件需要一些时间,因此这将非常慢。

答案 2 :(得分:0)

我不认为C#可以读取操作系统所在驱动器的所有文件/数据,因为操作系统会锁定一些文件。

您可以使用System.IO命名空间枚举所有文件,然后逐字节扫描它们,这显然需要很长时间。

答案 3 :(得分:0)

你真的想这样做吗?你打算如何搜索:

  1. .DOC
  2. 的.xls
  3. .PDF
  4. html的
  5. 等?每种文件类型都将以不同的方式表示您要搜索的字符串。

答案 4 :(得分:0)

This article显示了如何直接从磁盘读取数据。他们用C ++做的所有事情都可以通过C#使用PInvoke完成。