如何:在 Visual Basic 中查找具有特定模式的子目录
GetDirectories 方法返回一个只读字符串集合,这些字符串表示目录中子目录的路径名称。 可以使用 wildCards
参数来指定特定模式。 如果要在搜索中包含子目录的内容,请将 searchType
参数设置为 SearchOption.SearchAllSubDirectories
。
如果没有找到与指定模式匹配的目录,则返回一个空集合。
查找具有特定模式的子目录
使用 GetDirectories
方法,并提供要搜索的目录的名称和路径。 以下示例返回名称中包含单词“Logs”的目录结构中的所有目录,并将它们添加到 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
可靠编程
以下情况可能会导致异常:
路径由于以下原因之一而无效:属于零长度字符串、仅包含空格、包含无效字符或属于设备路径(开头字符为 \\.\)(ArgumentException)。
路径无效,因为它是
Nothing
(ArgumentNullException)。有一个或多个指定通配符是
Nothing
、空字符串,或仅为空格 (ArgumentNullException)。directory
不存在 (DirectoryNotFoundException)。directory
指向某个现有文件 (IOException)。路径超过了系统定义的最大长度 (PathTooLongException)。
路径中的文件名或文件夹名包含冒号 (:),或其格式无效 (NotSupportedException)。
该用户缺少查看该路径所必需的权限 (SecurityException)。
该用户缺少必要的权限 (UnauthorizedAccessException)。