перемещение дублированных каталогов обратно в корневой каталог - PullRequest
3 голосов
/ 06 июля 2011

Я случайно закончил с кучей моих каталогов, которые должны быть повреждены, что должно быть:

/myroot/mydirectory

закончилось как:

/myroot/mydirecotry/mydirectory/mydirectory

Тогда вложение может быть любым издо N раз - мне нужно найти самый дальний / mydirectory и скопировать все эти файлы обратно в корень и убить дублированные.Как мне найти тот, который самый дальний?

1 Ответ

2 голосов
/ 06 июля 2011
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). Если у вас есть какие-либо вопросы о том, как это работает, задайте их в комментарии. И да, я попробовал, это действительно работает.

...