如何使用 C# 獲取路徑內的所有目錄和子目錄?


為了獲取目錄,C# 提供了一個名為 Directory.GetDirectories 的方法。Directory.GetDirectories 方法返回匹配指定目錄中指定搜尋模式的子目錄名稱(包括它們的路徑),並且可根據需要搜尋子目錄。

在下面的示例中,* 匹配該位置中的零個或更多個字元。SearchOption TopDirectoryOnly .僅獲取頂級目錄,而 SearchOption AllDirectories .獲取所有頂級目錄和子目錄。

注意:rootPath 將成為你係統中的 rootPath,所以建立一個測試資料夾並根據 rootPath 使用檔案路徑。

示例 1

static void Main (string[] args) {
   string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
   string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.TopDirectoryOnly);

   foreach (string dir in dirs) {
      Console.WriteLine (dir);
   }
   Console.ReadLine ();
}

輸出

C:\Users\Koushik\Desktop\TestFolder\TestFolderMain
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2

示例 2

static void Main (string[] args) {
   string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
   string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.AllDirectories);

   foreach (string dir in dirs) {
      Console.WriteLine (dir);
   }
   Console.ReadLine ();
}

輸出

C:\Users\Koushik\Desktop\TestFolder\TestFolderMain
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMainSubDirectory

更新於: 2020-11-25

23K+ 檢視

啟動您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.