首页 > 文章列表 > 如何在C#中获取路径内的所有目录和子目录?

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

113 2023-08-23

要获取目录,C#提供了一个方法Directory.GetDirectories。Directory.GetDirectories方法返回与指定搜索模式在指定目录中匹配的子目录的名称(包括其路径),并可选择搜索子目录。

在下面的示例中,*表示匹配该位置上的零个或多个字符。SearchOption TopDirectoryOnly .仅获取顶级目录,SearchOption AllDirectories .获取所有顶级目录和子目录。

注意:rootPath将是您系统的根路径,因此请创建一个测试文件夹并相应地使用rootPath。

示例1

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

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

输出

C:UsersKoushikDesktopTestFolderTestFolderMain
C:UsersKoushikDesktopTestFolderTestFolderMain 1
C:UsersKoushikDesktopTestFolderTestFolderMain 2

Example 2

的中文翻译为:

示例2

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

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

输出

C:UsersKoushikDesktopTestFolderTestFolderMain
C:UsersKoushikDesktopTestFolderTestFolderMain 1
C:UsersKoushikDesktopTestFolderTestFolderMain 2
C:UsersKoushikDesktopTestFolderTestFolderMain 2TestFolderMainSubDirectory