Технологии

Файловый ввод и ввывод - вопрос №201109

Добрый день.

Задача: нужно извлечь подкаталоги из каталога. Например я указываю каталог С:\, далее идут 13 подкаталогов, как провести такую же манипуляцию с этими каталогами? То есть, какие подкаталоги существуют в этих 13 каталогах? Надеюсь я ясно поставил свой вопрос?
А вот и сам код:   

DirectoryInfodir = newDirectoryInfo(@«C:\»);  //Каталог для манипуляции данными

DirectoryInfo[] subDir = dir.GetDirectories();  //Подкаталоги для дальнейшего рассмотрения       

foreach(DirectoryInfodri indirArr)            

Console.WriteLine(dri.FullName);      

Console.WriteLine("\n"+ subDir.Length +"\n");

Заранее благодарю.

Дополнение автора от февраль 11, 2012 г., 14:06:17

Уровень просмотра вложений идет до конца. Типа что-то на подобии комманды tree в cmd (коммандной строке).

Ismagulov Azamat февраль 11, 2012 г.

  • Всего ответов: 3

  • Крутиков А - аватарка

    Крутиков А

    152-й в Технологиях

    надо только на три уровня вложенности каталогов заглянуть?:) и составить список, так?

    февраль 11, 2012 г.
  • Крутиков А - аватарка

    Крутиков А

    152-й в Технологиях

    только может быть лучше использовать класс не DirectoryInfo, а Directory

    http://msdn.microsoft.com/ru-ru/library/system.io.directory.aspx

    там как раз есть GetDirectories. Потом используя рекурсию:) и foreach доберёшься до любой папки на всю глубину вложенности.

    февраль 11, 2012 г.
  • Nikolay - аватарка

    Nikolay

    44-й в Технологиях

    Выборка всех файлов директории, включая поддиректории. Если нам необходимо просмотреть все поддиректории, то в методе Directory.GetFiles() следует указать третий параметр SearchOption – перечисление, которое может принимать два значения AllDirectories/TopDirectoryOnly. Из названий уже само собой понятно какой параметр следует выбрать для поиска в поддиректориях.<br /><br /><br />string[]fullfilesPath =   <br />    Directory.GetFiles(@"d:\MyProject\MyFiles\", "*.*",  <br />         SearchOption.AllDirectories);  <br />Удаление ненужных файлов директории. После получения имен необходимых файлов мы можем их удалить следующим способом:<br /><br />Array.ForEach(fullfilesPath,  <br />        delegate(string currentPath)   <br />        {   <br />            // File.Delete(currentPath);   <br />        }  <br />             );  

    февраль 15, 2012 г.