DirectoryInfo.GetFiles Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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:
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: