在目录中查找大量文件?
时间:2020-03-05 18:38:03 来源:igfitidea点击:
我使用的是MSVE,我有自己的图块,这些图块显示在顶部的图层中。问题是,它们很多,而且它们都在网络服务器上。在某些目录中,大约有30,000+个文件。最初,我叫Directory.GetFiles,但是一旦我开始在伪真实环境中进行测试,它就会超时。
以编程方式列出和遍历这么多文件的最佳方法是什么?
编辑:我的同事建议使用MS索引服务。有没有人尝试过这种方法,并且(如何)起作用?
解决方案
回答
过去,我曾使用电话录音在SAN系统上工作,该录音在单个文件夹中的文件数量出现问题,导致该系统在5,000左右无法使用(在Windows 2000 Advanced Server上使用C#.Net 1.1中的应用程序)。我们想出的明智解决方案是更改文件夹结构,以使文件数量更合理。有趣的是资源管理器也会超时!
我们提出的约定是一种结构,该结构在数年,数月和数日内将其分解,但是这取决于系统以及我们是否可以控制目录结构...
回答
没有。 .NET依赖于基础Windows API调用,这些调用本身确实非常讨厌这么多的文件。
正如Ronnie所说:将它们分开。
回答
我们可以使用DOS吗?
DIR /s/b > Files.txt
回答
绝对将它们分开。也就是说,请尽可能远离索引服务。
回答
我们也可以查看自己为文件编制索引的方法,还是让第三方应用(例如Google桌面或者Copernic)执行此操作,然后与它们的索引进行交互。我知道copernic有一个API,我们可以使用该API搜索其索引中的任何文件,并且还支持映射网络驱动器。