我尝试将从c:\开始的所有文件和文件夹提取到树数据结构中。 每次运行,我都会对UnAuthorized的一些指令有所例外。 我发现在获得异常时继续运行的唯一解决方案是使用try-catch,但在这种情况下,运行的持续时间约为1分钟。 是否有其他解决方案可以检查是否没有文件夹权限?
我也尝试过使用directoryName.Exsists - 它没有用。
我的代码:
Restart-Service
答案 0 :(得分:1)
我有一个方便的小方法,我写了一段时间,对我来说效果很好,随意给它一个旋转:
public IEnumerable<T> Find<T>(DirectoryInfo workingDirectory,
string searchPattern,
bool recursive = false)
where T : FileSystemInfo
{
var results = workingDirectory.EnumerateFileSystemInfos(searchPattern,
recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly);
return results.OfType<T>();
}
在您的情况下,您可以这样称呼它:
var dirTree = Find<DirectoryInfo>(new DirectoryInfo("C:\\"), "*", true);