在大量文件中搜索目录?

我正在使用MSVE,并且我在顶层显示了自己的贴图。问题是,它们有很多,而且它们在网络服务器上。在某些目录中,大约有30,000多个文件。最初我打电话给Directory.GetFiles,但是一旦我开始在伪真实环境中测试,它就会超时。

以编程方式列出并迭代这些文件的最佳方式是什么?

编辑:我的同事建议使用MS索引服务。有没有人尝试过这种方法,以及(它)如何工作?

0
额外 编辑
意见: 2

5 答案

我过去曾在一个SAN系统上使用电话录音,这些录音在单个文件夹中存在多个文件问题 - 该系统在接近5,000的地方变得不可用(在Windows 2000 Advanced Server上使用C#.Net 1.1中的应用程序) - 我们想出的唯一明智的解决方案是改变文件夹结构,以便有更合理的文件数量。有趣的是Explorer也会超时!

我们提出的约定是一种在几年,几个月和几天内破坏结构的结构 - 但这取决于您的系统以及您是否可以控制目录结构......

0
额外
(我现在正在一家新公司工作,但我确实记得这个项目的一部分。)问题是,AFAIK,MSVE有一个特定的文件夹结构,它所期望的 - 一层的所有内容都放到一个文件夹中。我们没有足够的了解它是否能够聚合多个文件夹,以便MSVE可以查看所有文件夹,或者查看特定级别的特定文件夹。
额外 作者 Adam V,

你可以使用DOS?

DIR /s/b > Files.txt
0
额外

您还可以查看自己的文件索引,或者获取第三方应用程序,如Google桌面或 copernic 来做到这一点,然后与他们的索引接口。我知道copernic有一个API,您可以使用它来搜索其索引中的任何文件,并且还支持映射网络驱动器。

0
额外

肯定会把他们分开。也就是说,尽可能远离索引服务。

0
额外
幸运的是,我们从未尝试使用索引服务。而我所属的团队现在只有一个人。所以我认为这个项目的一部分已经在优先级列表中下降了。
额外 作者 Adam V,

没有。 .NET依赖于底层的Windows API调用,真的很讨厌这些文件本身。

正如罗尼所说:把他们分开。

0
额外