private bool WalkThrough(int indent, string sd, string dd, IDictionary<string, string> partials)
{
DirectoryInfo dir = new DirectoryInfo(sd);
foreach (FileInfo fi in dir.GetFiles())
{
Log(indent, "处理文件" + fi.Name);
if(fi.Name.ToUpper().EndsWith(".XAML"))
{
//查找注释项,并替换
Substitute(indent, fi.FullName, dd + fi.Name, partials);
}
else
{
File.Copy(fi.FullName, dd + fi.Name);
}
}
foreach (DirectoryInfo di in dir.GetDirectories())
{
String subDir = di.FullName.Substring(srcDir.Length);
if (!subDir.EndsWith("\\"))
subDir += "\\";
Log(indent, "创建目录" + subDir.Substring(0, subDir.Length-1));
Directory.CreateDirectory(dstDir + subDir);
return WalkThrough(indent+1, srcDir + subDir, dstDir + subDir, partials);
}
return true;
}