2012-02-20 2 views
-1

У меня есть строка, которая равна заданной директории. Я хочу пройти через эту папку и все подпапки каталога. Как я смогу это сделать?Как получить подкаталоги

+0

http://stackoverflow.com/q/3879438/272742 – turbanoff

+0

Это в C#, кстати –

+0

Не имеет значения - turbanoff дал вам правильную ссылку для C#. –

ответ

3

Ознакомьтесь с классом System.IO.Directory, который позволяет получить список файлов и подкаталогов. Вы можете использовать перегрузку, которая принимает параметр SearchOptions, чтобы указать AllDirectories, который будет извлекать все подкаталоги за один раз.

+0

Вы можете уточнить? –

2

Я написал свободную обертку, чтобы сделать это, взгляните на мой блог здесь. http://blog.staticvoid.co.nz/2011/11/staticvoid-io-extentions-nuget.html

это означает, что вы можете получить каталог с чем-то вроде этого

new DirectoryInfo(@"c:\MyDir").Directories(d=>d.Name.StartsWith("a")).Files() 

и другие такие забавные вещи

0

Directory.GetDirectories(@"c:\", "*.*", SearchOption.AllDirectories);

0
foreach (var dir in dirctory.EnumerateDirectories("*", SearchOption.AllDirectories)) 
{ 
    Console.WriteLine(dir.Name); 
}