更新:2007 年 11 月
返回字符串的只读集合,这些字符串表示包含指定文本的文件的名称。
' Usage
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.FindInFiles(directory ,containsText ,ignoreCase ,searchType)
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.FindInFiles(directory ,containsText ,ignoreCase ,searchType ,fileWildcards)
' Declaration
Public Function FindInFiles( _
   ByVal directory As String, _
   ByVal containsText As String, _
   ByVal ignoreCase As Boolean, _
   ByVal searchType As SearchOption _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
' -or-
Public Function FindInFiles( _
   ByVal directory As String, _
   ByVal containsText As String, _
   ByVal ignoreCase As Boolean, _
   ByVal searchType As SearchOption, _
   ByVal fileWildcards As String() _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
参数
- Directory 
 String。要搜索的目录。必需。
- containsText 
 String。搜索文本。必需。
- ignoreCase 
 Boolean。搜索是否应区分大小写。默认值为 True。必需。
- searchType 
 SearchOption 枚举。是否包括子文件夹。默认值为 SearchOption.SearchTopLevelOnly。必需。
- fileWildcards 
 类型为 String 的数组。要匹配的模式。必需。
返回值
类型为 String 的只读集合。
异常
以下情况可能会导致异常:
- 路径由于以下原因之一而无效:它是零长度字符串;它仅包含空白;它包含无效字符;或者它是一个设备路径(以 \\.\ 开头)(ArgumentException)。 
- 路径无效,因为它是 Nothing (ArgumentNullException)。 
- directory 不存在 (DirectoryNotFoundException)。 
- directory 指向现有文件 (IOException)。 
- 路径超过了系统定义的最大长度 (PathTooLongException)。 
- 路径中的文件名或目录名包含冒号 (:),或格式无效 (NotSupportedException)。 
- 该用户缺少查看该路径所必需的权限 (SecurityException)。 
- 该用户缺少必要的权限 (UnauthorizedAccessException)。 
备注
如果未找到与指定模式匹配的文件,则返回一个空集合。
任务
下表列出了涉及 My.Computer.FileSystem.FindInFiles 方法的任务的示例。
| 要执行的操作 | 请参见 | 
|---|---|
| 搜索目录以查找包含特定字符串的文件 | 
示例
此示例搜索目录 C:\TestDir,在其中查找包含字符串 "sample string" 的所有文件,并在 ListBox1 中显示结果。
Dim list As System.Collections.ObjectModel.ReadOnlyCollection _
(Of String)
list = My.Computer.FileSystem.FindInFiles("C:\TestDir", _
 "sample string", True, FileIO.SearchOption.SearchTopLevelOnly)
For Each name As String In list
    ListBox1.Items.Add(name)
Next
为了使此示例工作,项目必须包含一个名为 ListBox1 的 ListBox。
要求
命名空间:Microsoft.VisualBasic.MyServices
类:FileSystemProxy(提供对 FileSystem 的访问)
**程序集:**Visual Basic 运行时库(位于 Microsoft.VisualBasic.dll 中)
各项目类型的可用性
| 项目类型 | 是否可用 | 
|---|---|
| Windows 应用程序 | 可用 | 
| 类库 | 可用 | 
| 控制台应用程序 | 可用 | 
| Windows 控件库 | 可用 | 
| Web 控件库 | 可用 | 
| Windows 服务 | 可用 | 
| 网站 | 可用 | 
权限
可能需要下列权限:
| 权限 | 说明 | 
|---|---|
| 控制访问文件和文件夹的能力。关联枚举:Unrestricted。 |