4

是否有一种简单的方法可以获取给定目录路径的目录列表(例如 DirectoryPathCollection)?

我希望能够轻松获取当前目录以及给定路径的所有目录。

我在Directory Operations reference以及DirectoryPathDirectoryAliases中都没有看到任何明显的内容。

解决方法

到目前为止,我已经找到了几种可行的方法。

使用GlobbingAliases.GetDirectories带有参数的方法来匹配所有内容,但这似乎有点不合时宜。(它也有一些尝试获取子目录的怪癖,但这将是我将调查的另一个问题。)

var allDirectories = GetDirectories(@".\*");

此外,我很幸运直接进入System.IO.Directory方法。

var allDirectories = System.IO.Directory.GetDirectories(".", "*", System.IO.SearchOption.TopDirectoryOnly).Select (d => new DirectoryPath(d));
4

1 回答 1

2

您还可以使用Context.FileSystem它有一个GetDirectory它返回一个具有GetDirectories方法的IDirectory 。

使用 Cake 的抽象的优点是,即模块可以提供替代实现,即系统上不支持常规 .Net 的长路径支持。

于 2017-06-23T16:47:20.100 回答