如何使用 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+ 查看

启动您的 职业生涯

完成课程获得认证

开始
广告