Resumo : neste tutorial, você aprenderá como listar um diretório em C# usando o
método.Directory.EnumerateDirectories()
Introdução ao método C# Directory.EnumerateDirectories()
O
método retorna uma coleção enumerável ( Directory.EnumerateDirectories()
IEnumerable<string>
) de nomes de diretórios que correspondem a um padrão de pesquisa especificado.
Aqui está a sintaxe do
método:Directory.EnumerateDirectories()
public static IEnumerable<string> EnumerateDirectories(
string path,
string searchPattern,
SearchOption searchOption
);
Linguagem de código: C# ( cs )
Nesta sintaxe:
- Especifica
path
o caminho do diretório para procurar subdiretórios. - O
searchPattern
especifica um padrão de pesquisa. - O
searchOption
instrui o método a pesquisar apenas o diretório atual (SearchOption.TopDirectoryOnly
) ou incluir todos os subdiretórios (SearchOptioin.AllDirectories
).
O padrão de pesquisa pode conter caracteres curinga como *
e ?
:
- Asterisco (
*
) – corresponde a zero ou mais caracteres. - Ponto de interrogação (
?
) – corresponde exatamente a um caractere.
Por exemplo:
backup*
corresponde a uma string que começa com backup e é seguida por zero ou mais caracteres, por exemplo,backup2023
,backupABC
.backup?
corresponde a uma string que começa com backup e é seguida por um caractere, por exemplo,backup1
,backup2
.
Além de caracteres inválidos, o padrão de pesquisa não pode terminar com dois pontos ( ..
) ou conter dois pontos ( ..
)
Observe que o searchPattern
não oferece suporte a expressões regulares.
Exemplo de diretório de listagem C#
O programa a seguir demonstra como encontrar os diretórios cujos nomes começam com "0"
no C:\backup
diretório:
using static System.Console;
string path = @"C:\backup\2023";
var dirnames = Directory.EnumerateDirectories(
path,
"0*",
SearchOption.AllDirectories
);
foreach (var dirname in dirnames)
{
WriteLine(dirname);
}
Linguagem de código: C# ( cs )
Suponha que o C:\backup
diretório seja assim:
c:\backup
└── 2023
├── 01
| └── readme.txt
├── 02
├── 03
├── 04
├── 05
├── 06
├── 07
├── 08
├── 09
├── 10
├── 11
└── 12
directory: 13 file: 1
Linguagem de código: texto simples ( texto simples )
O programa mostrará a seguinte saída:
C:\backup\2023\01
C:\backup\2023\02
C:\backup\2023\03
C:\backup\2023\04
C:\backup\2023\05
C:\backup\2023\06
C:\backup\2023\07
C:\backup\2023\08
C:\backup\2023\09
Linguagem de código: texto simples ( texto simples )
Resumo
- Use
o método C# para retornar um númeroDirectory.EnumerateDirectories()
IEnumerable<string>
de caminhos para diretórios que correspondam aos critérios especificados.