Практическое руководство. Поиск подкаталогов по шаблону в 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).