如何在 C# 中获取路径内的所有目录和子目录?

csharpserver side programmingprogramming更新于 2025/6/4 11:07:17

为了获取目录,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

相关文章