Выбор файлов и папок по маске

Те, кто работал с файлами и папками в командной строке Windows знают, что в ней есть возможность выбирать их по маске. К примеру, необходимо вывести все названия файлов с расширением .txt. Для этого в командной строке нужно набрать команду

for %B in (C:\*.txt) do (echo %B)

В результате, на экран будет выведн список всех файлов с расширением *.txt которые находяться в корне диска C:\.

C# дает возможность выбирать файлы по тому же принципу – по маске. Получить список файлов по маске можно с помощью метода GetFiles класса System.IO.Directory:

void GetFiles()
{
    //список файлов с расширением txt диска C:
    string[] files = Directory.GetFiles(@"C:\", "*.txt");
    Console.WriteLine("Всего файлов {0}.", files.Length);
    foreach (string f in files)
    {
        Console.WriteLine(f);
    }
}

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

void GetDirs()
{
    //получть список каталогов на букву D
    string[] dirs = Directory.GetDirectories(@"C:\", "d*");
    Console.WriteLine("Всего каталогов на букву D: {0}", dirs.Length);

    foreach (string d in dirs)
    {
        Console.WriteLine(d);
    }
}

[download id=”11″]