Partilhar via


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).

Consulte também