Como localizar subdiretórios com um padrão específico no Visual Basic
O método GetDirectories retorna uma coleção somente leitura de cadeias de caracteres que representam os nomes de caminho para os subdiretórios em um diretório. É possível usar o parâmetro wildCards
para especificar um padrão específico. Caso deseje incluir os conteúdos dos subdiretórios na pesquisa, defina o parâmetro searchType
para SearchOption.SearchAllSubDirectories
.
Uma coleção vazia será retornada se nenhum diretório correspondente ao padrão especificado for encontrado.
Localizar subdiretórios com um padrão específico
Use o método GetDirectories
, fornecendo o nome e o caminho do diretório a ser pesquisado. O exemplo a seguir retorna todos os diretórios na estrutura de diretório que contém a palavra “Logs” em seu nome e as adiciona a 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 comprimento zero, contém apenas espaços 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 somente espaços (ArgumentNullException).directory
não existe (DirectoryNotFoundException).directory
aponta para um arquivo existente (IOException).O caminho excede o comprimento máximo definido pelo sistema (PathTooLongException).
Um nome de pasta no caminho contém dois pontos (:) ou está em um formato inválido (NotSupportedException).
O usuário não possui permissões necessárias para exibir o caminho (SecurityException).
O usuário não possui as permissões necessárias (UnauthorizedAccessException).