2 回答

TA貢獻1951條經驗 獲得超3個贊
要包含所有文件和子目錄,請new Files("@"C:\Temp\MyProductFiles\*.*")使用new DirFiles(@"C:\Temp\MyProductFiles\*.*".
var project =
? ? new Project("MyProduct",
? ? ? ? new Dir(@"%ProgramFiles%\My Company\My Product",
? ? ? ? ? ? new Files(@"..\Release Folder\Release\*.*")

TA貢獻1821條經驗 獲得超6個贊
據我所知,沒有內置的機制來獲取所有子目錄,但您可以遞歸地遍歷樹,并將每個條目投影到DirFiles
IEnumerable<string> GetSubdirectories(string root)
{
string[] subdirectories = Directory.GetDirectories(root);
foreach (var subdirectory in subdirectories)
{
yield return subdirectory;
foreach (var nestedDirectory in GetSubdirectories(subdirectory))
{
yield return nestedDirectory;
}
}
}
DirFiles投影可以輸出到帶有強制通配符模式的數組中:
DirFiles[] dirFiles = GetSubdirectories(rootPath).Select(d => new DirFiles(Path.Combine(d, "*.*"))).ToArray();
然后,只需通過它即可:
var project = new Project("MyProduct", new Dir(@"C:\Temp\MyProduct", dirFiles)));
- 2 回答
- 0 關注
- 148 瀏覽
添加回答
舉報