为了获得所需级别的控制权,您可能应该一次探测一个目录,而不是整个树。以下方法
IList<string>用目录树中找到的所有文件填充给定文件,但用户无权访问的文件除外:
// using System.Linqprivate static void AddFiles(string path, IList<string> files){ try { Directory.GetFiles(path) .ToList() .ForEach(s => files.Add(s)); Directory.GetDirectories(path) .ToList() .ForEach(s => AddFiles(s, files)); } catch (UnauthorizedAccessException ex) { // ok, so we are not allowed to dig into that directory. Move on. }}

![UnauthorizedAccessException无法解决Directory.GetFiles失败[重复] UnauthorizedAccessException无法解决Directory.GetFiles失败[重复]](http://www.mshxw.com/aiimages/31/416885.png)
