在Cake构建脚本中获取目录列表

时间:2017-06-23 16:05:29

标签: cakebuild

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

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

我在Directory Operations referenceDirectoryPathDirectoryAliases中都没有看到任何明显的内容。

变通方法

到目前为止,我发现了一些可行的方法。

使用带有参数的GlobbingAliases.GetDirectories方法匹配所有,但这看起来有点像黑客。 (它也有一些尝试获取子目录的怪癖,但这将是一个我将调查的单独问题。)

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

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

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

1 个答案:

答案 0 :(得分:1)

您也可以使用Context.FileSystem GetDirectory它返回IDirectory,其GetDirectories方法。

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