是否有一种简单的方法来获取给定目录路径的目录列表(例如,DirectoryPathCollection)?
我希望能够轻松获取当前目录以及给定路径的所有目录。
我在Directory Operations reference,DirectoryPath或DirectoryAliases中都没有看到任何明显的内容。
到目前为止,我发现了一些可行的方法。
使用带有参数的GlobbingAliases.GetDirectories
方法匹配所有,但这看起来有点像黑客。 (它也有一些尝试获取子目录的怪癖,但这将是一个我将调查的单独问题。)
var allDirectories = GetDirectories(@".\*");
此外,我很幸运直接进入System.IO.Directory
方法。
var allDirectories = System.IO.Directory.GetDirectories(".", "*", System.IO.SearchOption.TopDirectoryOnly).Select (d => new DirectoryPath(d));
答案 0 :(得分:1)
您也可以使用Context.FileSystem GetDirectory它返回IDirectory,其GetDirectories方法。
使用Cake的抽象的优点是,模块可以提供替代实现,即系统上的长路径支持,不支持常规.Net