Udostępnij za pośrednictwem


Porady: znajdowanie podkatalogów z określonym wzorcem w Visual Basic

Metoda GetDirectories zwraca kolekcję ciągów tylko do odczytu reprezentującą nazwy ścieżek dla podkatalogów w katalogu. Możesz użyć parametru wildCards , aby określić określony wzorzec. Jeśli chcesz uwzględnić zawartość podkatalogów w wyszukiwaniu, ustaw searchType parametr na SearchOption.SearchAllSubDirectorieswartość .

Pusta kolekcja jest zwracana, jeśli nie znaleziono katalogów pasujących do określonego wzorca.

Aby znaleźć podkatalogi z określonym wzorcem

GetDirectories Użyj metody , podając nazwę i ścieżkę katalogu, który chcesz wyszukać. Poniższy przykład zwraca wszystkie katalogi w strukturze katalogów zawierające słowo "Dzienniki" w nazwie i dodaje je do ListBox1elementu .

For Each foundDirectory As String In
       My.Computer.FileSystem.GetDirectories(
           My.Computer.FileSystem.SpecialDirectories.MyDocuments,
           FileIO.SearchOption.SearchTopLevelOnly,
           "*Logs*")

    ListBox1.Items.Add(foundDirectory)
Next

Niezawodne programowanie

Następujące warunki mogą spowodować wyjątek:

  • Ścieżka jest nieprawidłowa z jednego z następujących powodów: jest to ciąg o zerowej długości, zawiera tylko białe znaki, zawiera nieprawidłowe znaki lub jest ścieżką urządzenia (zaczyna się od \\.\) (ArgumentException).

  • Ścieżka jest nieprawidłowa, ponieważ jest Nothing (ArgumentNullException).

  • Co najmniej jeden z określonych symboli wieloznacznych to Nothing, pusty ciąg lub zawiera tylko spacje (ArgumentNullException).

  • directory nie istnieje (DirectoryNotFoundException).

  • directory wskazuje istniejący plik (IOException).

  • Ścieżka przekracza zdefiniowaną przez system maksymalną długość (PathTooLongException).

  • Nazwa pliku lub folderu w ścieżce zawiera dwukropek (:) lub jest w nieprawidłowym formacie (NotSupportedException).

  • Użytkownik nie ma niezbędnych uprawnień do wyświetlania ścieżki (SecurityException).

  • Użytkownik nie ma niezbędnych uprawnień (UnauthorizedAccessException).

Zobacz też