Como: Localizar subdiretórios com um padrão específico no Visual Basic
O GetDirectories método retorna uma coleção somente leitura de cadeias de caracteres que representam os nomes de caminho para os subdiretórios em um diretório. Você pode usar o wildCards
parâmetro para especificar um padrão específico. Se você quiser incluir o conteúdo de subdiretórios na pesquisa, defina o searchType
parâmetro como SearchOption.SearchAllSubDirectories
.
Uma coleção vazia será retornada se nenhum diretório correspondente ao padrão especificado for encontrado.
Para localizar subdiretórios com um padrão específico
Use o GetDirectories
método, fornecendo o nome e o caminho do diretório que você deseja pesquisar. O exemplo a seguir retorna todos os diretórios na estrutura de diretórios que contêm a palavra "Logs" em seu nome e os adiciona ao ListBox1
.
For Each foundDirectory As String In
My.Computer.FileSystem.GetDirectories(
My.Computer.FileSystem.SpecialDirectories.MyDocuments,
FileIO.SearchOption.SearchTopLevelOnly,
"*Logs*")
ListBox1.Items.Add(foundDirectory)
Next
Programação robusta
As seguintes condições podem causar uma exceção:
O caminho não é válido por um dos seguintes motivos: é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco, contém caracteres inválidos ou é um caminho de dispositivo (começa com \\.\) (ArgumentException).
O caminho não é válido porque é
Nothing
(ArgumentNullException).Um ou mais dos caracteres curinga especificados é
Nothing
, uma cadeia de caracteres vazia ou contém apenas espaços (ArgumentNullException).directory
não existe (DirectoryNotFoundException).directory
aponta para um ficheiro existente (IOException).O caminho excede o comprimento máximo definido pelo sistema (PathTooLongException).
Um nome de arquivo ou pasta no caminho contém dois pontos (:) ou está em um formato inválido (NotSupportedException).
O usuário não tem as permissões necessárias para visualizar o caminho (SecurityException).
O usuário não tem as permissões necessárias (UnauthorizedAccessException).