在Windows 7的特殊文件夹上引发异常

本文关键字:异常 文件夹 Windows | 更新日期: 2023-09-27 18:08:19

在我的应用程序中,我使用以下命令从选定的路径获取所有文件:

foreach (string currentFile in Directory.EnumerateFiles(@"c:'", "*.*", SearchOption.AllDirectories))
{
    //some logic here
}

事情是,当试图访问某些目录,如c:'Documents and Settings,我得到一个UnauthorizedAccessException

上面提到的文件夹没有显示在Windows Explorer.NET System.Windows.Forms.FolderBrowserDialog中,我找不到这个文件夹的特定属性,所以我可以通过过滤枚举。

我试了这个和这个,但没有用。

是否有任何类型的属性或参数,我可以用来限制这类目录从我的循环?

在Windows 7的特殊文件夹上引发异常

Directory类不提供跳过不可访问的文件和文件夹的方法。您可以编写自己的目录扫描方法,它将递归地进入每个文件夹,并在发生异常时跳过它。

你就不能让系统管理员给你的用户读取所有文件的权限吗?听起来有些东西是你无法接近的。虽然我不反对您从可移植性的角度排除这些文件来解决这个问题(不幸的是,我不能直接说明如何做到这一点)。