Полагаю, вам нужно написать собственный метод GetDirectories()
;который рекурсивно получает те, что находятся внутри него.
В этой статье Microsoft есть хорошая статья о том, как это сделать, и немного поработав, вы можете очистить ее, чтобы использовать общие списки и сделатьэто соответствует вашему решению.
Проще говоря, System.IO.Directory.GetDirectories () будет завершаться ошибкой каждый раз, когда получит одно из этих исключений.
Код примерно такой (скопированный сверху) долженНачало работы
List<String> directories = new List<String>();
void DirSearch(string sDir)
{
try
{
foreach (string d in Directory.GetDirectories(sDir))
{
//foreach (string f in Directory.GetFiles(d, txtFile.Text))
//{
//
//}
// use this to search for files recursivly.
directories.Add(d);
DirSearch(d);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
}
После того, как у вас есть список каталогов, вы можете выполнять над ними операции, и с некоторыми модами вышеописанный метод должен гарантировать, что у вас есть права на чтение для всего списка.