有没有办法从给定路径获取所有子目录?

Is there any way to get all sub directories from a given path?

Directory.GetDirectories returns 只有给定路径的子目录,但我想列出所有的子目录,以及它们的子目录一直到最后。

我正在考虑递归函数,但我不确定如何解决这个问题。

使用另一个 Directory.GetDirectories 重载。

string[] dirs = Directory.GetDirectories(@"c:\data", "*", SearchOption.AllDirectories);

方法如下:

new DirectoryInfo(Assembly.GetExecutingAssembly().Location /* or any other location */)
.EnumerateDirectories("*"/*or any other pattern*/,SearchOption.AllDirectories);

您可以根据需要修改所有参数。