如何在C#中的路径中获取所有目录和子目录?
为了获取目录,C#提供了Directory.GetDirectories方法。Directory.GetDirectories方法返回与指定目录中的指定搜索模式匹配的子目录(包括它们的路径)的名称,并可以选择搜索子目录。
在下面的示例中,*在该位置匹配零个或多个字符。SearchOptionTopDirectoryOnly。仅获取顶级目录,SearchOptionAllDirectories。仅获取所有顶级目录和子目录。
注意: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