DirectoryInfo.GetFiles Método

Definição

Devolve uma lista de ficheiros do diretório atual.

Sobrecargas

Name Description
GetFiles(String, EnumerationOptions)

Devolve uma lista de ficheiros do diretório atual que corresponde ao padrão de pesquisa especificado e às opções de enumeração.

GetFiles(String, SearchOption)

Devolve uma lista de ficheiros do diretório atual que corresponde ao padrão de pesquisa dado e utiliza um valor para determinar se deve pesquisar subdiretórios.

GetFiles()

Devolve uma lista de ficheiros do diretório atual.

GetFiles(String)

Devolve uma lista de ficheiros do diretório atual que corresponde ao padrão de pesquisa indicado.

GetFiles(String, EnumerationOptions)

Devolve uma lista de ficheiros do diretório atual que corresponde ao padrão de pesquisa especificado e às opções de enumeração.

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

A cadeia de pesquisa para comparar com os nomes dos ficheiros. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta expressões regulares.

enumerationOptions
EnumerationOptions

Um objeto que descreve a configuração de pesquisa e enumeração a utilizar.

Devoluções

Um array de objetos fortemente tipados FileInfo que correspondem searchPattern a e enumerationOptions.

Exceções

.NET Framework e versões .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo método GetInvalidPathChars().

searchPattern é null.

O caminho é inválido (por exemplo, está num disco não mapeado).

O interlocutor não tem a permissão necessária.

Observações

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Zero ou um personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a cadeia "*t" procura todos os nomes que terminam com a letra "t". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Se não houver ficheiros no DirectoryInfo, este método devolve um array vazio.

Os seguintes indicadores coringa são permitidos no searchPattern parâmetro.

Personagem coringa Description
* Zero ou mais personagens.
? Exatamente zero ou um carácter.

A ordem dos nomes dos ficheiros devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

Curingas são permitidos. Por exemplo, a searchPattern cadeia "*.txt" procura todos os nomes de ficheiros com extensão "txt". A searchPattern cadeia "s*" procura todos os nomes de ficheiros que começam pela letra "s". Se não existirem ficheiros, ou não houver ficheiros que correspondam à searchPattern string no DirectoryInfo, este método devolve um array vazio.

Note

Ao usar o carácter coringa asterisco num searchPattern (por exemplo, "*.txt"), o comportamento de correspondência varia consoante o comprimento da extensão do ficheiro especificada. A searchPattern com uma extensão de ficheiro de exatamente três caracteres devolve ficheiros com extensão de três ou mais caracteres, onde os primeiros três caracteres correspondem à extensão especificada no searchPatternarquivo . A searchPattern com extensão de ficheiro de um, dois ou mais de três caracteres devolve apenas ficheiros com extensões exatamente desse comprimento que correspondam à extensão especificada no searchPatternarquivo . Ao usar o carácter coringa de ponto de interrogação, este método devolve apenas ficheiros que correspondem à extensão especificada. Por exemplo, dado dois ficheiros num diretório, "file1.txt" e "file1.txtother", um padrão de pesquisa de "file?.txt" devolve apenas o primeiro ficheiro, enquanto um padrão de pesquisa "ficheiro*.txt" devolve ambos os ficheiros.

Note

Como este método verifica nomes de ficheiros tanto com o formato 8.3 como com o formato de nome longo, um padrão de pesquisa semelhante a "*1*.txt" pode devolver nomes de ficheiros inesperados. Por exemplo, usar um padrão de pesquisa de "*1*.txt" devolverá "longfilename.txt" porque o formato equivalente de nome de ficheiro 8.3 seria "longf~1.txt".

Este método preprepreenche os valores das seguintes FileInfo propriedades:

Aplica-se a

GetFiles(String, SearchOption)

Devolve uma lista de ficheiros do diretório atual que corresponde ao padrão de pesquisa dado e utiliza um valor para determinar se deve pesquisar subdiretórios.

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

A cadeia de pesquisa para comparar com os nomes dos ficheiros. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta expressões regulares.

searchOption
SearchOption

Um dos valores de enumeração especifica se a operação de pesquisa deve incluir apenas o diretório atual ou todos os subdiretórios.

Devoluções

Um conjunto de tipos FileInfo.

Exceções

.NET Framework e versões .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo método GetInvalidPathChars().

searchPattern é null.

searchOption não é um valor válido SearchOption .

O caminho é inválido (por exemplo, está num disco não mapeado).

O interlocutor não tem a permissão necessária.

Exemplos

O exemplo seguinte mostra como obter uma lista de ficheiros a partir de um diretório usando diferentes opções de pesquisa. O exemplo assume um diretório que contém ficheiros nomeados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, e um subdiretório que tem um ficheiro chamado 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 . . .

Observações

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Se não houver ficheiros no DirectoryInfo, este método devolve um array vazio.

Os seguintes indicadores de wildcard são permitidos em searchPattern.

Personagem coringa Description
* (asterisco) Zero ou mais personagens.
? (ponto de interrogação) Exatamente zero ou um carácter.

A ordem dos nomes dos ficheiros devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

Curingas são permitidos. Por exemplo, a searchPattern cadeia "*.txt" procura todos os nomes de ficheiros com extensão "txt". A searchPattern cadeia "s*" procura todos os nomes de ficheiros que começam pela letra "s". Se não existirem ficheiros, ou não houver ficheiros que correspondam à searchPattern string no DirectoryInfo, este método devolve um array vazio.

Note

Ao usar o carácter coringa asterisco num searchPattern (por exemplo, "*.txt"), o comportamento de correspondência varia consoante o comprimento da extensão do ficheiro especificada. A searchPattern com uma extensão de ficheiro de exatamente três caracteres devolve ficheiros com extensão de três ou mais caracteres, onde os primeiros três caracteres correspondem à extensão especificada no searchPatternarquivo . A searchPattern com extensão de ficheiro de um, dois ou mais de três caracteres devolve apenas ficheiros com extensões exatamente desse comprimento que correspondam à extensão especificada no searchPatternarquivo . Ao usar o carácter coringa de ponto de interrogação, este método devolve apenas ficheiros que correspondem à extensão especificada. Por exemplo, dado dois ficheiros num diretório, "file1.txt" e "file1.txtother", um padrão de pesquisa de "file?.txt" devolve apenas o primeiro ficheiro, enquanto um padrão de pesquisa "ficheiro*.txt" devolve ambos os ficheiros.

A lista seguinte mostra o comportamento de diferentes comprimentos para o searchPattern parâmetro:

  • "*.abc" devolve ficheiros com extensão de .abc, .abcd, .abcde, .abcdef, entre outros.

  • "*.abcd" devolve apenas ficheiros com extensão de .abcd.

  • "*.abcde" devolve apenas ficheiros com extensão de .abcde.

  • "*.abcdef" devolve apenas ficheiros com extensão de .abcdef.

Note

Como este método verifica nomes de ficheiros tanto com o formato 8.3 como com o formato de nome longo, um padrão de pesquisa semelhante a "*1*.txt" pode devolver nomes de ficheiros inesperados. Por exemplo, usar um padrão de pesquisa de "*1*.txt" devolverá "longfilename.txt" porque o formato equivalente de nome de ficheiro 8.3 seria "longf~1.txt".

Este método preprepreenche os valores das seguintes FileInfo propriedades:

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

Ver também

Aplica-se a

GetFiles()

Devolve uma lista de ficheiros do diretório atual.

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

Devoluções

Um conjunto de tipos FileInfo.

Exceções

O caminho é inválido, como se estivesse num disco não mapeado.

Exemplos

O exemplo seguinte mostra como obter uma lista de ficheiros a partir de um diretório usando diferentes opções de pesquisa. O exemplo assume um diretório que contém ficheiros nomeados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, e um subdiretório que tem um ficheiro chamado 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 . . .

Observações

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Se não houver ficheiros no DirectoryInfo, este método devolve um array vazio.

A ordem dos nomes dos ficheiros devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

Este método preprepreenche os valores das seguintes FileInfo propriedades:

Ver também

Aplica-se a

GetFiles(String)

Devolve uma lista de ficheiros do diretório atual que corresponde ao padrão de pesquisa indicado.

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

A cadeia de pesquisa para comparar com os nomes dos ficheiros. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta expressões regulares.

Devoluções

Um conjunto de tipos FileInfo.

Exceções

.NET Framework e versões .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo método GetInvalidPathChars().

searchPattern é null.

O caminho é inválido (por exemplo, está num disco não mapeado).

O interlocutor não tem a permissão necessária.

Exemplos

O exemplo seguinte mostra como obter uma lista de ficheiros a partir de um diretório usando diferentes opções de pesquisa. O exemplo assume um diretório que contém ficheiros nomeados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, e um subdiretório que tem um ficheiro chamado 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 . . .

Observações

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Zero ou um personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a cadeia "*t" procura todos os nomes que terminam com a letra "t". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Se não houver ficheiros no DirectoryInfo, este método devolve um array vazio.

Os seguintes indicadores coringa são permitidos no searchPattern parâmetro.

Personagem coringa Description
* Zero ou mais personagens.
? Exatamente zero ou um carácter.

A ordem dos nomes dos ficheiros devolvidos não é garantida; Use o Sort método se for necessária uma ordem de ordenação específica.

Curingas são permitidos. Por exemplo, a searchPattern cadeia "*.txt" procura todos os nomes de ficheiros com extensão "txt". A searchPattern cadeia "s*" procura todos os nomes de ficheiros que começam pela letra "s". Se não existirem ficheiros, ou não houver ficheiros que correspondam à searchPattern string no DirectoryInfo, este método devolve um array vazio.

Note

Ao usar o carácter coringa asterisco num searchPattern (por exemplo, "*.txt"), o comportamento de correspondência varia consoante o comprimento da extensão do ficheiro especificada. A searchPattern com uma extensão de ficheiro de exatamente três caracteres devolve ficheiros com extensão de três ou mais caracteres, onde os primeiros três caracteres correspondem à extensão especificada no searchPatternarquivo . A searchPattern com extensão de ficheiro de um, dois ou mais de três caracteres devolve apenas ficheiros com extensões exatamente desse comprimento que correspondam à extensão especificada no searchPatternarquivo . Ao usar o carácter coringa de ponto de interrogação, este método devolve apenas ficheiros que correspondem à extensão especificada. Por exemplo, dado dois ficheiros num diretório, "file1.txt" e "file1.txtother", um padrão de pesquisa de "file?.txt" devolve apenas o primeiro ficheiro, enquanto um padrão de pesquisa "ficheiro*.txt" devolve ambos os ficheiros.

Note

Como este método verifica nomes de ficheiros tanto com o formato 8.3 como com o formato de nome longo, um padrão de pesquisa semelhante a "*1*.txt" pode devolver nomes de ficheiros inesperados. Por exemplo, usar um padrão de pesquisa de "*1*.txt" devolverá "longfilename.txt" porque o formato equivalente de nome de ficheiro 8.3 seria "longf~1.txt".

Este método preprepreenche os valores das seguintes FileInfo propriedades:

Ver também

Aplica-se a