我正在尝试获取 W7 机器的 c:\Users\UserName 目录中所有文件夹的列表。
我使用Directory.GetDirectories()
or时遇到的问题Directory.GetFiles()
是我经常遇到“访问路径被拒绝”的异常。我在管理员模式下运行了 VS,但没有运气。我的 C# 中解释了原因- 无法访问所有文件
我想知道如何获取所有子文件夹的名称(无论文件夹中是否有任何文件),其中子文件夹可能是 N 深(因此,子文件夹的数量不确定)并将它们存储为列表。这样,通过 foreach 循环,我可以根据某些逻辑逐个文件夹检查,以确保我可以访问并且我想要访问!
以下代码仅查看 1 级深度:
private List<string> GetAllFolders()
{
DirectoryInfo directoryInfo = new DirectoryInfo(this.sourceFolder);
List<string> allFolders = new List<string>();
foreach (DirectoryInfo subDirectoryInfo in directoryInfo.GetDirectories())
{
//logic
allFolders.Add(subDirectoryInfo.FullName);
}
return allFolders;
}
有没有我可以使用的模式,或者有没有人有关于如何继续的例子或建议?