0
如何在VB.NET中檢索驅動器中所有文件夾的列表?如何獲取驅動器中的所有文件夾?
如何在VB.NET中檢索驅動器中所有文件夾的列表?如何獲取驅動器中的所有文件夾?
像這樣:
Directory.GetDirectories("C:\", "*", SearchOption.AllDirectories)
注意,這將是非常緩慢的。
在.Net 4.0中,通過將GetDirectories
更改爲EnumerateDirectories
可以使其更快。
SLaks's answer是明顯的方法。
如果沒有.NET 4.0,但是你也想在一定程度上減輕緩慢,你可以寫你自己的遞歸函數開始懶洋洋地通過目錄列舉遞歸。
static IEnumerable<DirectoryInfo> GetAllDirectories(DirectoryInfo directory)
{
DirectoryInfo[] directories = directory.GetDirectories();
if (directories.Length == 0)
yield break;
foreach (DirectoryInfo subdirectory in directories)
{
yield return subdirectory;
foreach (DirectoryInfo subsubdirectory in GetAllDirectories(subdirectory))
{
yield return subsubdirectory;
}
}
}