Resumo : neste tutorial, você aprenderá como listar arquivos que correspondem a um padrão de pesquisa especificado usando o Directory.EnumerateFiles()
método.
Introdução ao método C# Directory.EnumerateFiles()
O
método retorna uma coleção enumerável ( Directory.EnumerateFiles()
IEnumerable<string>
) de nomes de arquivos que correspondem a um padrão de pesquisa especificado.
O seguinte mostra a sintaxe do
método:Directory.EnumerateFiles()
public static IEnumerable<string> EnumerateFiles(
string path,
string searchPattern,
SearchOption searchOption
);
Linguagem de código: C# ( cs )
Nesta sintaxe:
- Especifica
path
um caminho relativo ou absoluto para um diretório para listar os arquivos. - Especifica
searchPattern
um padrão de pesquisa para corresponder aos nomes de arquivos. - O
searchOption
instrui o método a pesquisar apenas o diretório atual (SearchOption.TopDirectoryOnly
) ou incluir todos os subdiretórios (SearchOptioin.AllDirectories
).
O searchPattern
pode conter curingas como *
e ?
:
- Asterisco (
*
) – corresponde a zero ou mais caracteres. - Ponto de interrogação (
?
) – corresponde exatamente a um caractere.
O searchPattern
não oferece suporte a expressões regulares.
Exemplo de listagem de arquivos C#
O programa a seguir demonstra como usar o Directory.EnumerateFiles()
método para listar todos os arquivos de texto no C:\backup
diretório:
using static System.Console;
string path = @"C:\backup";
var filenames = Directory.EnumerateFiles(
path,
"*.txt",
SearchOption.AllDirectories
);
foreach (var filename in filenames)
{
WriteLine(filename);
}
Linguagem de código: C# ( cs )
Como funciona.
Primeiro, defina uma variável chamada path
que armazene o caminho para o diretório a ser pesquisado:
string path = @"C:\backup";
Linguagem de código: JavaScript ( javascript )
Segundo, procure o arquivo de texto no C:\backup
diretório e todos os seus subdiretórios. O padrão *.txt
corresponde aos nomes dos arquivos que possuem a .txt
extensão. E as SearchOption.AllDirectories
pesquisas por arquivos de texto em todos os subdiretórios do C:\backup
diretório:
var filenames = Directory.EnumerateFiles(
path,
"*.txt",
SearchOption.AllDirectories
);
Linguagem de código: JavaScript ( javascript )
Terceiro, percorra os nomes dos arquivos e grave-os no console:
foreach (var filename in filenames)
{
WriteLine(filename);
}
Linguagem de código: PHP ( php )
Resumo
- Use o método C#
para retornar um númeroDirectory.EnumerateFiles()
IEnumerable<string>
de nomes de arquivos que correspondam aos critérios especificados.