Cómo: Buscar subdirectorios con un modelo concreto en Visual Basic

El método GetDirectories devuelve una colección de solo lectura de cadenas que representan los nombres de ruta de acceso de los subdirectorios de un directorio. Puede usar el parámetro wildCards para especificar un patrón concreto. Si quiere incluir el contenido de subdirectorios en la búsqueda, establezca el parámetro searchType en SearchOption.SearchAllSubDirectories.

Se devuelve una colección vacía si no se encuentra ningún directorio que coincida con el modelo especificado.

Para buscar subdirectorios con un modelo concreto

Use el método GetDirectories y proporcione el nombre y ruta de acceso del directorio que quiera buscar. En el ejemplo siguiente se devuelven todos los directorios de la estructura de directorios que contienen la palabra "Logs" en su nombre y se agregan a 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

Programación sólida

Las condiciones siguientes pueden provocar una excepción:

  • La ruta de acceso no es válida por una de las razones siguientes: es una cadena de longitud cero, solo contiene un espacio en blanco, contiene caracteres no válidos o es una ruta de acceso de dispositivo (empieza por \\.\) (ArgumentException).

  • La ruta de acceso no es válida porque es Nothing (ArgumentNullException).

  • Uno (o más) de los caracteres comodín especificados es Nothing, una cadena vacía o contiene solo espacios (ArgumentNullException).

  • directory no existe (DirectoryNotFoundException).

  • directory apunta a un archivo existente (IOException).

  • La ruta supera la longitud máxima definida por el sistema (PathTooLongException).

  • Un nombre de archivo o de carpeta de la ruta de acceso contiene un signo de dos puntos (:) o tiene un formato no válido (NotSupportedException).

  • El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).

  • El usuario no tiene los permisos necesarios (UnauthorizedAccessException).

Vea también