最快的方式来检查多个文件是否存在Windows(共享)

本文关键字:存在 是否 Windows 共享 文件 方式 检查 | 更新日期: 2023-09-27 17:50:56

我有一个巨大的远程共享文件路径列表,我需要检查是否存在。输入例子:

' server ' folder1 ' file1
' server ' folder1 ' file2
' server ' folder2 ' file3
等。

我们现在只做File。存在(它基本上使用FindFirstFile WinAPI)每个文件,但它相当慢。有更有效的方法吗?有没有办法让它并行化?

最快的方式来检查多个文件是否存在Windows(共享)

使用I/O操作通常是缓慢和昂贵的。
我建议使用不同的方法:

在程序初始化时获取一次文件列表,并将其存储在数据库中。

使用FileSystemWatcher监视路径内文件的创建(如果您有不同的父目录或不同的远程计算机,您可能需要为每个目录使用FileSystemWatcher),然后更新数据库中每个创建、删除和重命名事件的相关文件。

然后你所要做的就是得到存在的文件是一个简单的sql查询,这将是闪电速度相比迭代一个大列表和测试File.Exist