Поделиться через


Метод My.Computer.FileSystem.GetDirectories

Обновлен: Ноябрь 2007

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

' Usage
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetDirectories(directory)
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetDirectories(directory ,searchType ,wildcards)
' Declaration
Public Function GetDirectories( _
   ByVal directory As String _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
' -or-
Public Function GetDirectories( _
   ByVal directory As String, _
   ByVal searchType As SearchOption, _
   ByVal wildcards As String() _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)

Параметры

  • directory
    String. Путь к каталогу и его имя. Обязательно.

  • searchType
    Перечисление SearchOption. Следует ли включать вложенные папки. По умолчанию используется значение SearchOption.SearchTopLevelOnly. Обязательно.

  • wildcards
    String. Шаблон для соответствия имен. Обязательно.

Возвращаемое значение

Коллекция String, доступная только для чтения.

Исключения

Следующие условия могут вызвать исключение.

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

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

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

  • Параметр directory не существует (DirectoryNotFoundException).

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

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

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

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

  • Пользователь не имеет необходимых разрешений (UnauthorizedAccessException).

Заметки

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

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

Задачи

В приведенной ниже таблице показаны примеры задач, в которых используется метод My.Computer.FileSystem.GetDirectories.

To

См. раздел

Перечисление вложенных папок по определенному шаблону

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

Пример

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

For Each foundDirectory As String In _
My.Computer.FileSystem.GetDirectories _
(My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
True, "*Logs*")
    ListBox1.Items.Add(foundDirectory)
Next

В данном примере требуется наличие в форме объекта ListBox с именем ListBox1.

Требования

Пространство имен:Microsoft.VisualBasic.MyServices

Класс:FileSystemProxy (предоставляет доступ к FileSystem)

Сборка: библиотека времени выполнения Visual Basic (в Microsoft.VisualBasic.dll)

Доступность по типу проекта

Тип проекта

Доступность

Приложение Windows

Да

Библиотека классов

Да

Консольное приложение

Да

Библиотека элементов управления Windows

Да

Библиотека веб-элементов управления

Да

Служба Windows

Да

Веб-узел

Да

Разрешения

Могут потребоваться следующие разрешения:

Разрешение

Описание

FileIOPermission

Определяет возможность доступа к файлам и папкам. Связанное перечисление: Unrestricted.

Дополнительные сведения см. в разделах Управление доступом для кода и Запрос разрешений.

См. также

Ссылки

Объект My.Computer.FileSystem

Перечисление SearchOption

System.Collections.ObjectModel.ReadOnlyCollection<T>

FileSystem.GetDirectories