我们的网络中有一个文件夹,我们想在其中搜索,包括我们程序中的子文件夹。我们想要返回一个名称包含“String1”或“String2”或“StringN”的文件列表。我们希望以编程方式打开资源管理器窗口,并使用本机Windows文件资源管理器查看与搜索结果匹配的所有文件。
这可能吗?怎么样?
谢谢!
答案 0 :(得分:4)
您可以使用.ms-search file format表达已保存的搜索。如果您打开此文件格式,它将启动应用了搜索条件的文件资源管理器。
如果您已经应用了搜索打开了文件资源管理器窗口,则可以使用'保存搜索'功能区上的按钮。
答案 1 :(得分:0)
由于Windows资源管理器随着操作系统的每个版本而变化...我建议通过.NET进行搜索并在表单上的网格上显示结果。
使用System.IO命名空间。
System.IO.Directory.GetFiles(folderName)将获取文件...
您需要一个递归函数来首先枚举所有文件,然后递归每个子目录。
答案 2 :(得分:0)
以下是一些代码,用于创建已保存的搜索xml文件(file.search-ms),以便按名称搜索指定的路径和搜索字符串:
override func viewDidLoad() {
super.viewDidLoad()
self.messageTextView.maxHeight = 3 *
(self.messageTextViewHieghtConstarint.constant)
}
https://github.com/nvuono/ExplorerQuickSearch处的示例代码仅使用文件扩展名搜索,但显示如何在临时文件夹中创建已保存的搜索并执行它。
更好的解决方案是为搜索生成一个URL并将其提供给 Internet 资源管理器,该资源生成一个显示搜索结果的Windows /文件资源管理器窗口。执行此操作的一些代码显示在
Create a saved search (.search-ms) from terms in Explorer search box