Практическое руководство. Поиск подкаталогов по шаблону в Visual Basic

Метод GetDirectories возвращает доступную только для чтения коллекцию строк, представляющих имена путей к подкаталогам каталога. Для указания определенного шаблона можно использовать параметр wildCards . Если требуется включить в поиск содержимое подкаталогов, присвойте параметру searchType значение SearchOption.SearchAllSubDirectories.

Если каталоги, соответствующие указанному шаблону, не найдены, возвращается пустая коллекция.

Поиск подкаталогов по заданному шаблону

Используйте метод GetDirectories, указав имя и путь к каталогу для поиска. В следующем примере возвращаются все каталоги в структуре каталогов, имена которых содержат слово "Logs". Затем они добавляются в ListBox1.

For Each foundDirectory As String In
       My.Computer.FileSystem.GetDirectories(
           My.Computer.FileSystem.SpecialDirectories.MyDocuments,
           FileIO.SearchOption.SearchTopLevelOnly,
           "*Logs*")

    ListBox1.Items.Add(foundDirectory)
Next

Отказоустойчивость

При следующих условиях возможно возникновение исключения:

  • Путь недействителен по одной из следующих причин: это строка нулевой длины, она содержит только пробелы, содержит недопустимые символы, или это путь устройства (начинается с \\.\).\) (ArgumentException).

  • Путь не является допустимым, поскольку он равен Nothing (ArgumentNullException).

  • Один или несколько указанных подстановочных знаков являются Nothing, пустой строкой или содержат только пробелы (ArgumentNullException).

  • directory не существует (DirectoryNotFoundException).

  • directory указывает на существующий файл (IOException).

  • Длина пути превышает максимальную длину, определенную в системе (PathTooLongException).

  • Имя файла или папки в пути содержит двоеточие (:) или имеет недопустимый формат (NotSupportedException).

  • У пользователя отсутствуют необходимые разрешения на просмотр пути (SecurityException).

  • У пользователя отсутствуют необходимые разрешения (UnauthorizedAccessException).

См. также