Как просмотреть папки по нескольким маскам из файла?

Для просмотра папок по нескольким маскам из файла в C# можно использовать классы System.IO и System.Linq. Основная идея заключается в том, чтобы прочитать содержимое файла, содержащего маски, и затем пройтись по всем папкам в указанном каталоге, фильтруя их с помощью масок.

Вот пример кода, который демонстрирует это:

using System;
using System.IO;
using System.Linq;

namespace MultipleMaskFolderSearch
{
    class Program
    {
        static void Main(string[] args)
        {
            // Путь к файлу с масками
            string masksFile = "masks.txt";

            // Путь к папке, в которой нужно выполнить поиск
            string searchPath = @"C:MyFolder";

            try
            {
                // Чтение масок из файла
                string[] masks = File.ReadAllLines(masksFile);

                // Просмотр папок в указанном каталоге
                var matchingFolders = Directory.GetDirectories(searchPath)
                    .Where(folder => masks.Any(mask => new DirectoryInfo(folder).Name.StartsWith(mask)));

                // Вывод найденных папок
                Console.WriteLine("Найденные папки:");
                foreach (var folder in matchingFolders)
                {
                    Console.WriteLine(folder);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Произошла ошибка: " + ex.Message);
            }

            // Ожидание нажатия пользователем клавиши перед закрытием программы
            Console.ReadLine();
        }
    }
}

В этом примере мы сначала читаем маски из файла masks.txt с помощью метода File.ReadAllLines(). Затем мы используем метод Directory.GetDirectories() для получения списка всех папок в указанном каталоге. После этого мы отфильтровываем папки, используя метод Where() и проверяя, содержится ли хотя бы одна из масок в имени папки с помощью метода StartsWith(). Наконец, мы выводим найденные папки на консоль.

Обратите внимание, что в примере используется простая проверка с помощью StartsWith(). Если требуется более сложная логика фильтрации, вы можете использовать регулярные выражения или другие методы сравнения строк.

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

Надеюсь, это поможет вам реализовать просмотр папок по нескольким маскам из файла в C#! Если у вас есть дополнительные вопросы, не стесняйтесь задавать!