Compartir a través de


DirectoryInfo.GetFiles Método

Definición

Devuelve una lista de archivos del directorio actual.

Sobrecargas

GetFiles(String, EnumerationOptions)

Devuelve una lista de archivos del directorio actual que coinciden con el patrón de búsqueda y las opciones de enumeración especificados.

GetFiles(String, SearchOption)

Devuelve una lista de archivos del directorio actual que coinciden con el modelo de búsqueda dado y utiliza un valor para determinar si se va a buscar en los subdirectorios.

GetFiles()

Devuelve una lista de archivos del directorio actual.

GetFiles(String)

Devuelve una lista de archivos del directorio actual que coinciden con el modelo de búsqueda.

GetFiles(String, EnumerationOptions)

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

Devuelve una lista de archivos del directorio actual que coinciden con el patrón de búsqueda y las opciones de enumeración especificados.

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

Parámetros

searchPattern
String

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

enumerationOptions
EnumerationOptions

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

Devoluciones

Una matriz de objetos FileInfo fuertemente tipados que coinciden con searchPattern y enumerationOptions.

Excepciones

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

searchPattern es null.

La ruta de acceso no es válida (por ejemplo, está en una unidad no asignada).

El llamador no dispone del permiso requerido.

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 Coincide
* (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".

Los EnumerateFiles métodos y GetFiles difieren de la siguiente manera:

  • Cuando se usa EnumerateFiles, puede empezar a enumerar la colección de objetos antes de FileInfo que se devuelva toda la colección.

  • Cuando se usa GetFiles, debe esperar a que se devuelva toda la matriz de FileInfo objetos para poder acceder a la matriz.

Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateFiles puede ser más eficaz.

Si no hay archivos en DirectoryInfo, este método devuelve una matriz vacía.

Los siguientes especificadores de caracteres comodín se permiten en el searchPattern parámetro .

Carácter comodín Descripción
* Cero o más caracteres.
? Exactamente cero o un carácter.

No se garantiza el orden de los nombres de archivo devueltos; use el Sort método si se requiere un criterio de ordenación específico.

Se permiten los caracteres comodín. Por ejemplo, la searchPattern cadena "*.txt" busca todos los nombres de archivo que tengan una extensión "txt". La searchPattern cadena "s*" busca todos los nombres de archivo a partir de la letra "s". Si no hay ningún archivo o ningún archivo que coincida con la searchPattern cadena de DirectoryInfo, este método devuelve una matriz vacía.

Nota

Cuando se usa el carácter comodín asterisco en un searchPattern (por ejemplo, "*.txt"), el comportamiento coincidente varía en función de la longitud de la extensión de archivo especificada. Un searchPattern con una extensión de archivo de exactamente tres caracteres devuelve archivos con una extensión de tres o más caracteres, donde los tres primeros caracteres coinciden con la extensión de archivo especificada en .searchPattern Un searchPattern con una extensión de archivo de uno, dos o más de tres caracteres devuelve solo los archivos con extensiones de exactamente esa longitud que coinciden con la extensión de archivo especificada en .searchPattern Cuando se usa el carácter comodín de signo de interrogación, este método devuelve solo los archivos que coinciden con la extensión de archivo especificada. Por ejemplo, dados dos archivos en un directorio, "file1.txt" y "file1.txtother", un patrón de búsqueda de "file?.txt" devuelve solo el primer archivo, mientras que un patrón de búsqueda de "file*.txt" devuelve ambos archivos.

Nota

Dado que este método comprueba los nombres de archivo con el formato de nombre de archivo 8.3 y el formato de nombre de archivo largo, un patrón de búsqueda similar a "*1*.txt" puede devolver nombres de archivo inesperados. Por ejemplo, el uso de un patrón de búsqueda de "*1*.txt" devolverá "longfilename.txt" porque el formato de nombre de archivo equivalente 8.3 sería "longf~1.txt".

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

Se aplica a

GetFiles(String, SearchOption)

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

Devuelve una lista de archivos del directorio actual que coinciden con el modelo de búsqueda dado y utiliza un valor para determinar si se va a buscar en los subdirectorios.

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

Parámetros

searchPattern
String

Cadena de búsqueda que debe coincidir con los nombres de los archivos. Este parámetro puede contener una combinación de ruta de acceso literal válida y caracteres comodín (* 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 FileInfo.

Excepciones

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

searchPattern es null.

searchOption no es un valor SearchOption válido.

La ruta de acceso no es válida (por ejemplo, está en una unidad no asignada).

El llamador no dispone del permiso requerido.

Ejemplos

En el ejemplo siguiente se muestra cómo obtener una lista de archivos de un directorio mediante diferentes opciones de búsqueda. En el ejemplo se supone un directorio que tiene archivos denominados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt y un subdirectorio que tiene un archivo denominado SubFile.txt.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.GetFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.GetFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.GetFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.GetFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.GetFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.GetFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Comentarios

Los EnumerateFiles métodos y GetFiles difieren de la siguiente manera:

  • Cuando se usa EnumerateFiles, puede empezar a enumerar la colección de objetos antes de FileInfo que se devuelva toda la colección.

  • Cuando se usa GetFiles, debe esperar a que se devuelva toda la matriz de FileInfo objetos para poder acceder a la matriz.

Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateFiles puede ser más eficaz.

Si no hay archivos en DirectoryInfo, este método devuelve una matriz vacía.

Los siguientes especificadores de caracteres comodín se permiten en searchPattern.

Carácter comodín Descripción
* (asterisco) Cero o más caracteres.
? (signo de interrogación) Exactamente cero o un carácter.

No se garantiza el orden de los nombres de archivo devueltos; use el Sort método si se requiere un criterio de ordenación específico.

Se permiten los caracteres comodín. Por ejemplo, la searchPattern cadena "*.txt" busca todos los nombres de archivo que tengan una extensión "txt". La searchPattern cadena "s*" busca todos los nombres de archivo a partir de la letra "s". Si no hay ningún archivo o ningún archivo que coincida con la searchPattern cadena de DirectoryInfo, este método devuelve una matriz vacía.

Nota

Cuando se usa el carácter comodín asterisco en un searchPattern (por ejemplo, "*.txt"), el comportamiento coincidente varía en función de la longitud de la extensión de archivo especificada. Un searchPattern con una extensión de archivo de exactamente tres caracteres devuelve archivos con una extensión de tres o más caracteres, donde los tres primeros caracteres coinciden con la extensión de archivo especificada en .searchPattern Un searchPattern con una extensión de archivo de uno, dos o más de tres caracteres devuelve solo los archivos con extensiones de exactamente esa longitud que coinciden con la extensión de archivo especificada en .searchPattern Cuando se usa el carácter comodín de signo de interrogación, este método devuelve solo los archivos que coinciden con la extensión de archivo especificada. Por ejemplo, dados dos archivos en un directorio, "file1.txt" y "file1.txtother", un patrón de búsqueda de "file?.txt" devuelve solo el primer archivo, mientras que un patrón de búsqueda de "file*.txt" devuelve ambos archivos.

En la lista siguiente se muestra el comportamiento de diferentes longitudes para el searchPattern parámetro :

  • "*.abc" devuelve archivos que tienen una extensión de .abc, .abcd, .abcde, .abcdef, etc.

  • "*.abcd" devuelve solo los archivos que tienen una extensión de .abcd.

  • "*.abcde" devuelve solo los archivos que tienen una extensión de .abcde.

  • "*.abcdef" devuelve solo los archivos que tienen una extensión de .abcdef.

Nota

Dado que este método comprueba los nombres de archivo con el formato de nombre de archivo 8.3 y el formato de nombre de archivo largo, un patrón de búsqueda similar a "*1*.txt" puede devolver nombres de archivo inesperados. Por ejemplo, el uso de un patrón de búsqueda de "*1*.txt" devolverá "longfilename.txt" porque el formato de nombre de archivo equivalente 8.3 sería "longf~1.txt".

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

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

Consulte también

Se aplica a

GetFiles()

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

Devuelve una lista de archivos del directorio actual.

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

Devoluciones

Matriz de tipo FileInfo.

Excepciones

La ruta de acceso no es válida, por ejemplo porque está en una unidad no asignada.

Ejemplos

En el ejemplo siguiente se muestra cómo obtener una lista de archivos de un directorio mediante diferentes opciones de búsqueda. En el ejemplo se supone un directorio que tiene archivos denominados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt y un subdirectorio que tiene un archivo denominado SubFile.txt.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.GetFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.GetFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.GetFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.GetFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.GetFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.GetFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Comentarios

Los EnumerateFiles métodos y GetFiles difieren de la siguiente manera:

  • Cuando se usa EnumerateFiles, puede empezar a enumerar la colección de objetos antes de FileInfo que se devuelva toda la colección.

  • Cuando se usa GetFiles, debe esperar a que se devuelva toda la matriz de FileInfo objetos para poder tener acceso a la matriz.

Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateFiles puede ser más eficaz.

Si no hay archivos en DirectoryInfo, este método devuelve una matriz vacía.

No se garantiza el orden de los nombres de archivo devueltos; use el Sort método si se requiere un criterio de ordenación específico.

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

Consulte también

Se aplica a

GetFiles(String)

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

Devuelve una lista de archivos del directorio actual que coinciden con el modelo de búsqueda.

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

Parámetros

searchPattern
String

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

Devoluciones

Matriz de tipo FileInfo.

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 no es válida (por ejemplo, está en una unidad no asignada).

El llamador no dispone del permiso requerido.

Ejemplos

En el ejemplo siguiente se muestra cómo obtener una lista de archivos de un directorio mediante diferentes opciones de búsqueda. En el ejemplo se supone un directorio que tiene archivos denominados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt y un subdirectorio que tiene un archivo denominado SubFile.txt.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.GetFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.GetFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.GetFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.GetFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.GetFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.GetFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

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 Coincide
* (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 path a partir de la letra "s".

Los EnumerateFiles métodos y GetFiles difieren de la siguiente manera:

  • Cuando se usa EnumerateFiles, puede empezar a enumerar la colección de objetos antes de FileInfo que se devuelva toda la colección.

  • Cuando se usa GetFiles, debe esperar a que se devuelva toda la matriz de FileInfo objetos para poder tener acceso a la matriz.

Por lo tanto, cuando se trabaja con muchos archivos y directorios, EnumerateFiles puede ser más eficaz.

Si no hay archivos en DirectoryInfo, este método devuelve una matriz vacía.

Los siguientes especificadores de caracteres comodín se permiten en el searchPattern parámetro .

Carácter comodín Descripción
* Cero o más caracteres.
? Exactamente cero o un carácter.

No se garantiza el orden de los nombres de archivo devueltos; use el Sort método si se requiere un criterio de ordenación específico.

Se permiten los caracteres comodín. Por ejemplo, la searchPattern cadena "*.txt" busca todos los nombres de archivo que tengan una extensión de "txt". La searchPattern cadena "s*" busca todos los nombres de archivo que comienzan por la letra "s". Si no hay archivos, o ningún archivo que coincida con la searchPattern cadena en DirectoryInfo, este método devuelve una matriz vacía.

Nota

Cuando se usa el carácter comodín de asterisco en ( searchPattern por ejemplo, "*.txt"), el comportamiento coincidente varía en función de la longitud de la extensión de archivo especificada. Un searchPattern objeto con una extensión de archivo de exactamente tres caracteres devuelve archivos con una extensión de tres o más caracteres, donde los tres primeros caracteres coinciden con la extensión de archivo especificada en .searchPattern Un searchPattern objeto con una extensión de archivo de uno, dos o más de tres caracteres devuelve solo los archivos con extensiones de exactamente esa longitud que coincidan con la extensión de archivo especificada en .searchPattern Cuando se usa el carácter comodín de signo de interrogación, este método devuelve solo los archivos que coinciden con la extensión de archivo especificada. Por ejemplo, dados dos archivos en un directorio, "file1.txt" y "file1.txtother", un patrón de búsqueda de "file?.txt" devuelve solo el primer archivo, mientras que un patrón de búsqueda "file*.txt" devuelve ambos archivos.

Nota

Dado que este método comprueba los nombres de archivo con el formato de nombre de archivo 8.3 y el formato de nombre de archivo largo, un patrón de búsqueda similar a "*1*.txt" puede devolver nombres de archivo inesperados. Por ejemplo, el uso de un patrón de búsqueda de "*1*.txt" devolverá "longfilename.txt" porque el formato de nombre de archivo 8.3 equivalente sería "longf~1.txt".

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

Consulte también

Se aplica a