DirectoryInfo.GetDirectories Método

Definición

Devuelve los subdirectorios del directorio actual.

Sobrecargas

Nombre Description
GetDirectories()

Devuelve los subdirectorios del directorio actual.

GetDirectories(String)

Devuelve una matriz de directorios en el actual que DirectoryInfo coincide con los criterios de búsqueda especificados.

GetDirectories(String, EnumerationOptions)

Devuelve una matriz de directorios en el actual que DirectoryInfo coincide con las opciones de enumeración y el patrón de búsqueda especificados.

GetDirectories(String, SearchOption)

Devuelve una matriz de directorios en el actual que DirectoryInfo coincide con los criterios de búsqueda especificados y usa un valor para determinar si se deben buscar subdirectorios.

GetDirectories()

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Devuelve los subdirectorios del directorio actual.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories();
public System.IO.DirectoryInfo[] GetDirectories();
member this.GetDirectories : unit -> System.IO.DirectoryInfo[]
Public Function GetDirectories () As DirectoryInfo()

Devoluciones

Una matriz de objetos DirectoryInfo.

Excepciones

La ruta de acceso encapsulada en el DirectoryInfo objeto no es válida, como estar en una unidad sin asignar.

El autor de la llamada no tiene el permiso necesario.

El autor de la llamada no tiene el permiso necesario.

Ejemplos

En el ejemplo siguiente se recuperan todos los directorios del directorio raíz y se muestran los nombres de directorio.

using System;
using System.IO;

public class GetDirectoriesTest
{
    public static void Main()
    {

        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("c:\\");

        // Get a reference to each directory in that directory.
        DirectoryInfo[] diArr = di.GetDirectories();

        // Display the names of the directories.
        foreach (DirectoryInfo dri in diArr)
            Console.WriteLine(dri.Name);
    }
}
open System.IO

// Make a reference to a directory.
let di = DirectoryInfo "c:\\"

// Get a reference to each directory in that directory.
let diArr = di.GetDirectories()

// Display the names of the directories.
for dri in diArr do
    printfn $"{dri.Name}"
Imports System.IO

Public Class GetDirectoriesTest

    Public Shared Sub Main()
        ' Make a reference to a directory.
        Dim di As New DirectoryInfo("c:\")
        ' Get a reference to each directory in that directory.
        Dim diArr As DirectoryInfo() = di.GetDirectories()
        ' Display the names of the directories.
        Dim dri As DirectoryInfo
        For Each dri In diArr
            Console.WriteLine(dri.Name)
        Next dri
    End Sub
End Class

Comentarios

Si no hay subdirectorios, este método devuelve una matriz vacía. Este método no es recursivo.

Este método rellena previamente los valores de las siguientes DirectoryInfo propiedades:

Consulte también

Se aplica a

GetDirectories(String)

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Devuelve una matriz de directorios en el actual que DirectoryInfo coincide con los criterios de búsqueda especificados.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern);
public System.IO.DirectoryInfo[] GetDirectories(string searchPattern);
member this.GetDirectories : string -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String) As DirectoryInfo()

Parámetros

searchPattern
String

Cadena de búsqueda que se va a comparar con los nombres de los directorios. Este parámetro puede contener una combinación de caracteres comodín y ruta de acceso literal válida (* y ?), pero no admite expresiones regulares.

Devoluciones

Matriz de tipo DirectoryInfo que coincide con searchPattern.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a la 2.1: searchPattern contiene uno o varios caracteres no válidos definidos por el GetInvalidPathChars() método .

searchPattern es null.

La ruta de acceso encapsulada en el DirectoryInfo objeto no es válida (por ejemplo, se encuentra en una unidad sin asignar).

El autor de la llamada no tiene el permiso necesario.

Ejemplos

En el ejemplo siguiente se cuentan los directorios de una ruta de acceso que contiene la letra especificada.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {
            DirectoryInfo di = new DirectoryInfo(@"c:\");

            // Get only subdirectories that contain the letter "p."
            DirectoryInfo[] dirs = di.GetDirectories("*p*");
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length);

            foreach (DirectoryInfo diNext in dirs)
            {
                Console.WriteLine("The number of files in {0} is {1}", diNext,
                    diNext.GetFiles().Length);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
open System.IO

try
    let di = DirectoryInfo @"c:\"

    // Get only subdirectories that contain the letter "p."
    let dirs = di.GetDirectories "*p*"
    printfn $"The number of directories containing the letter p is {dirs.Length}."

    for diNext in dirs do
        printfn $"The number of files in {diNext} is {diNext.GetFiles().Length}"
with e ->
    printfn $"The process failed: {e}"
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        ' Specify the directories you want to manipulate.
        Dim di As DirectoryInfo = New DirectoryInfo("c:\")

        Try
            'Get only subdirectories that contain the letter "p."
            Dim dirs As DirectoryInfo() = di.GetDirectories("*p*")
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length)
            Dim diNext As DirectoryInfo
            For Each diNext In dirs
                Console.WriteLine("The number of files in {0} is {1}", diNext, _
                 diNext.GetFiles().Length)
            Next

        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Comentarios

searchPattern puede ser una combinación de caracteres literales y comodín, pero no admite expresiones regulares. Los siguientes especificadores de caracteres comodín se permiten en searchPattern.

Especificador de caracteres comodín Coincidencias
* (asterisco) Cero o más caracteres en esa posición.
? (signo de interrogación) Cero o un carácter en esa posición.

Los caracteres distintos del carácter comodín son caracteres literales. Por ejemplo, la cadena "*t" busca todos los nombres al terminar con la letra "t". ". La searchPattern cadena "s*" busca todos los nombres a path partir de la letra "s".

Este método rellena previamente los valores de las siguientes DirectoryInfo propiedades:

Consulte también

Se aplica a

GetDirectories(String, EnumerationOptions)

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Devuelve una matriz de directorios en el actual que DirectoryInfo coincide con las opciones de enumeración y el patrón de búsqueda especificados.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.IO.DirectoryInfo[] GetDirectories(string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.GetDirectories : string * System.IO.EnumerationOptions -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String, enumerationOptions As EnumerationOptions) As DirectoryInfo()

Parámetros

searchPattern
String

Cadena de búsqueda que se va a comparar con los nombres de los directorios. Este parámetro puede contener una combinación de caracteres comodín y ruta de acceso literal válida (* y ?), pero no admite expresiones regulares.

enumerationOptions
EnumerationOptions

Objeto que describe la configuración de búsqueda y enumeración que se va a usar.

Devoluciones

Matriz de tipo DirectoryInfo que coincide searchPattern con y enumerationOptions.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a la 2.1: searchPattern contiene uno o varios caracteres no válidos definidos por el GetInvalidPathChars() método .

searchPattern es null.

La ruta de acceso encapsulada en el DirectoryInfo objeto no es válida (por ejemplo, se encuentra en una unidad sin asignar).

El autor de la llamada no tiene el permiso necesario.

Comentarios

searchPattern puede ser una combinación de caracteres literales y comodín, pero no admite expresiones regulares. Los siguientes especificadores de caracteres comodín se permiten en searchPattern.

Especificador de caracteres comodín Coincidencias
* (asterisco) Cero o más caracteres en esa posición.
? (signo de interrogación) Cero o un carácter en esa posición.

Los caracteres distintos del carácter comodín son caracteres literales. Por ejemplo, la cadena "*t" busca todos los nombres al terminar con la letra "t". ". La searchPattern cadena "s*" busca todos los nombres a path partir de la letra "s".

Este método rellena previamente los valores de las siguientes DirectoryInfo propiedades:

Se aplica a

GetDirectories(String, SearchOption)

Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs
Source:
DirectoryInfo.cs

Devuelve una matriz de directorios en el actual que DirectoryInfo coincide con los criterios de búsqueda especificados y usa un valor para determinar si se deben buscar subdirectorios.

public:
 cli::array <System::IO::DirectoryInfo ^> ^ GetDirectories(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.IO.DirectoryInfo[] GetDirectories(string searchPattern, System.IO.SearchOption searchOption);
member this.GetDirectories : string * System.IO.SearchOption -> System.IO.DirectoryInfo[]
Public Function GetDirectories (searchPattern As String, searchOption As SearchOption) As DirectoryInfo()

Parámetros

searchPattern
String

Cadena de búsqueda que se va a comparar con los nombres de los directorios. Este parámetro puede contener una combinación de caracteres comodín y ruta de acceso literal válida (* y ?), pero no admite expresiones regulares.

searchOption
SearchOption

Uno de los valores de enumeración que especifica si la operación de búsqueda debe incluir solo el directorio actual o todos los subdirectorios.

Devoluciones

Matriz de tipo DirectoryInfo que coincide con searchPattern.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a la 2.1: searchPattern contiene uno o varios caracteres no válidos definidos por el GetInvalidPathChars() método .

searchPattern es null.

searchOption no es un valor válido SearchOption .

La ruta de acceso encapsulada en el DirectoryInfo objeto no es válida (por ejemplo, se encuentra en una unidad sin asignar).

El autor de la llamada no tiene el permiso necesario.

Ejemplos

En el ejemplo siguiente se enumeran todos los directorios y archivos que comienzan por la letra "c" en "c:\".

using System;
using System.IO;

class App
{
    public static void Main()
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\";
        string searchPattern = "c*";

        DirectoryInfo di = new DirectoryInfo(path);
        DirectoryInfo[] directories =
            di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly);

        FileInfo[] files =
            di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly);

        Console.WriteLine(
            "Directories that begin with the letter \"c\" in {0}", path);
        foreach (DirectoryInfo dir in directories)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", dir.FullName, dir.LastWriteTime);
        }

        Console.WriteLine();
        Console.WriteLine(
            "Files that begin with the letter \"c\" in {0}", path);
        foreach (FileInfo file in files)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", file.Name, file.LastWriteTime);
        }
    } // Main()
} // App()
open System.IO

// Specify the directory you want to manipulate.
let path = @"c:\"
let searchPattern = "c*"

let di = DirectoryInfo path
let directories = di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly)

let files = di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly)

printfn $"Directories that begin with the letter \"c\" in {path}"
for dir in directories do
    printfn $"{dir.FullName,-25} {dir.LastWriteTime,25}"

printfn $"\nFiles that begin with the letter \"c\" in {path}"
for file in files do
    printfn $"{file.Name,-25} {file.LastWriteTime,25}"
Imports System.IO

Class App
    Public Shared Sub Main()
        ' Specify the directory you want to manipulate.
        Dim path As String = "c:\\"
        Dim searchPattern As String = "c*"

        Dim di As DirectoryInfo = New DirectoryInfo(path)
        Dim directories() As DirectoryInfo = _
            di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly)

        Dim files() As FileInfo = _
            di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly)

        Console.WriteLine( _
            "Directories that begin with the letter 'c' in {0}", path)
        Dim dir As DirectoryInfo
        For Each dir In directories
            Console.WriteLine( _
                "{0,-25} {1,25}", dir.FullName, dir.LastWriteTime)
        Next dir

        Console.WriteLine()
        Console.WriteLine( _
            "Files that begin with the letter 'c' in {0}", path)
        Dim file As FileInfo
        For Each file In files
            Console.WriteLine( _
                "{0,-25} {1,25}", file.Name, file.LastWriteTime)
        Next file
    End Sub
End Class

Comentarios

searchPattern puede ser una combinación de caracteres literales y comodín, pero no admite expresiones regulares. Los siguientes especificadores de caracteres comodín se permiten en searchPattern.

Especificador de caracteres comodín Coincidencias
* (asterisco) Cero o más caracteres en esa posición.
? (signo de interrogación) Cero o un carácter en esa posición.

Los caracteres distintos del carácter comodín son caracteres literales. Por ejemplo, la cadena "*t" busca todos los nombres al terminar con la letra "t". ". La searchPattern cadena "s*" busca todos los nombres a path partir de la letra "s".

Si no hay subdirectorios o ningún subdirectorio coincide con el searchPattern parámetro , este método devuelve una matriz vacía.

Este método rellena previamente los valores de las siguientes DirectoryInfo propiedades:

Consulte también

Se aplica a