如何:在 Visual Basic 中查找具有特定模式的子目录
更新:2007 年 11 月
My.Computer.FileSystem.GetDirectories 方法返回字符串的只读集合,而这些字符串表示目录中子目录的路径名。可以使用 wildCards 参数来指定特定模式。如果希望在搜索中包含子目录的内容,请将 searchType 参数设置为 SearchOption.SearchAllSubDirectories。
如果没有找到与指定模式匹配的目录,则返回一个空集合。
查找具有特定模式的子目录
使用 GetDirectories 方法,并提供要搜索的目录的名称和路径。下面的示例返回目录结构中在名称中包含单词“Logs”的所有目录,并将这些目录添加到 ListBox1 中。
For Each foundDirectory As String In _ My.Computer.FileSystem.GetDirectories( _ My.Computer.FileSystem.SpecialDirectories.MyDocuments, True, _ "*Logs*") ListBox1.Items.Add(foundDirectory) Next
可靠编程
以下情况可能会导致异常:
路径由于以下原因之一而无效:是零长度字符串;仅包含空白;包含无效字符;是一个设备路径(以 \\.\ 开头)(ArgumentException)。
路径无效,因为它是 Nothing (ArgumentNullException)。
一个或多个指定的通配符为 Nothing、空字符串,或者仅包含空格 (ArgumentNullException)。
directory 不存在 (DirectoryNotFoundException)。
directory 指向某个现有文件 (IOException)。
路径超过了系统定义的最大长度 (PathTooLongException)。
路径中的文件名或文件夹名包含冒号 (:),或格式无效 (NotSupportedException)。
该用户缺少查看该路径所必需的权限 (SecurityException)。
该用户缺少必要的权限 (UnauthorizedAccessException)。
请参见
任务
如何:在 Visual Basic 中查找具有特定模式的文件