VB:搜索文件夹中的文件并仅显示 Word 和 PDF 文件

问题描述

我在搜索文件夹并找到具有特定名称的所有文件时遇到问题。 使用这种方法,我可以浏览我的文件夹并找到所有文件。但仅限 Word 文件

Dim fi As FileInfo() = path.GetFiles(fileName & "*.doc*",SearchOption.AllDirectories)

现在我想搜索WordPDF。有什么办法可以找到它吗? 如果我只写一个点而不是 .doc 它会搜索文件夹但找到所有文件。 Excel、txt 等

Dim fi As FileInfo() = path.GetFiles(fileName & "*.*",SearchOption.AllDirectories)

目标是只找到特定类型的文件

解决方法

无法使用 GetFiles 方法枚举具有多个扩展名的文件。为此,您必须编写自己的代码来进行过滤。我还建议您使用 EnumerateFiles 方法,因为在大多数情况下,它比 GetFiles 方法提供更好的性能。

这是根据需要进行过滤的示例代码

Dim filterExtensions = {".docx",".pdf"}

Dim files = From f In System.IO.Directory.EnumerateFiles("C:\Path","*.*",_
                                                         SearchOption.AllDirectories)
            Let fi = New FileInfo(f)
            Where filterExtensions.Contains(fi.Extension.ToLower())
            Select fi