This documentation is archived and is not being maintained.

How to: Find Subdirectories with a Specific Pattern in Visual Basic 

The My.Computer.FileSystem.GetDirectories Method returns a read-only collection of strings representing the path names for the subdirectories in a directory. You can use the wildCards parameter to specify a specific pattern. If you would like to include the contents of subdirectories in the search, set the searchType parameter to SearchOption.SearchAllSubDirectories.

An empty collection is returned if no directories matching the specified pattern are found.

To find subdirectories with a specific pattern

  • Use the GetDirectories method, supplying the name and path of the directory you want to search. The following example returns all the directories in the directory structure that contain the word "Logs" in their name, and adds them to ListBox1.

    For Each foundDirectory As String In _
      My.Computer.FileSystem.GetDirectories( _
      My.Computer.FileSystem.SpecialDirectories.MyDocuments, True, _

Robust Programming

The following conditions may cause an exception:

  • The path is not valid for one of the following reasons: it is a zero-length string, it contains only white space, it contains invalid characters, or it is a device path (starts with \\.\) (ArgumentException).

  • The path is not valid because it is Nothing (ArgumentNullException).

  • One or more of the specified wildcard characters is Nothing, an empty string, or contains only spaces (ArgumentNullException).

  • directory does not exist (DirectoryNotFoundException).

  • directory points to an existing file (IOException).

  • The path exceeds the system-defined maximum length (PathTooLongException).

  • A file or folder name in the path contains a colon (:) or is in an invalid format (NotSupportedException).

  • The user lacks necessary permissions to view the path (SecurityException).

  • The user lacks necessary permissions (UnauthorizedAccessException).

See Also