将重复的目录移回根目录

时间:2011-07-06 19:06:33

标签: c# .net c#-4.0

我不小心结束了一堆我的目录被塞了,应该是什么:

/myroot/mydirectory

结束为:

/myroot/mydirecotry/mydirectory/mydirectory

然后嵌套可以是1到N次的任何地方 - 我需要找到最远的/ mydirectory并将所有这些文件复制回root并杀死被欺骗的文件。我如何找到最远的那个?

1 个答案:

答案 0 :(得分:2)

string[] dirs;
string actualDir = @"\myroot\";
string subdir = "mydirectory";

do
{
    dirs = System.IO.Directory.GetDirectories(actualDir, subdir);
    actualDir += subdir + @"\";
}
while (dirs.Length > 0);

string theLongestPath = actualDir; // The path to the furthest dir

这将获取actualDir中包含subdir的所有目录,直到它是最后一个目录(没有包含subdir的其他子目录)。如果您对其工作方式有任何疑问,请在评论中提问。是的,我已经尝试过,它确实有用。