问题标签 [windows-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
113 浏览

c# - C# WPF 程序不显示在 Windows 10 搜索中

我为 wpf 程序创建了一个带有 wix 的 msi 安装程序。但是安装后我的程序没有显示在 Windows 搜索中。您是否需要创建额外的寄存器以确保您的程序将被 Windows 搜索引擎索引?

这是我得到的照片

0 投票
1 回答
294 浏览

c# - 如何从桌面应用程序打开 Windows 资源管理器和搜索?

我正在使用 c#/.net 开发一个 windows 桌面应用程序,并希望添加一个功能来打开 windows 资源管理器并从应用程序中搜索计算机中的查询。

我打算使用 Windows 搜索协议来实现它。下面是我的代码片段。rawQuery 从我的应用程序传递到 Windows 资源管理器搜索框。

上面的代码有问题。如果 rawQuery 包含非英文字符,则在编码后(HttpUtility.UrlEncode())在 Windows 资源管理器搜索框中显示不正确。例如,如果 rawQuery 是中文的,如“微软”,它会在 Windows 资源管理器中搜索 微软。这不好。

但是,如果 rawQuery 未编码,则无法在 Windows 资源管理器搜索框中显示特殊字符,如 &、% 等。

所以我不确定如何确定字符是否应该被编码。我在search protocol spec中没有找到任何相关文档。

有人知道应该编码哪些字符吗?

0 投票
2 回答
1572 浏览

git - 有没有办法忽略某些模式的 Windows 搜索索引?

有没有办法忽略某些模式的 Windows 搜索索引?

例如,我想跳过以下文件夹:

C:\Git**.git\ C:\Git**\packages\ C:\misc\git**.git\ C:\misc\git**\packages\

这些会导致搜索结果中出现数千个额外的噪声匹配。

我确实想索引 C:\misc\git 中的各种文件夹,除了 .git 或 .packages 子文件夹中的内容。我只找到了一种静态方法来做到这一点,而没有任何基于模式的方法。这似乎是一个常见的用例,有点像 git 使用 .gitignore 将某些内容排除在版本控制之外的方式。在这种情况下,它会将其排除在搜索索引之外。

我在“索引位置”中看不到任何此类模式的工具。我认为可以通过运行某种脚本来完成,以在每次内容更改时排除当前匹配项(例如添加了 C:\misc\git\somethingnew),但这与优雅相反。

任何帮助,将不胜感激。

一分钱

0 投票
3 回答
2345 浏览

batch-file - 批处理:打开 Windows 资源管理器并输入搜索查询

根据标题,我可以使用批处理打开特定文件夹(始终相同)并输入搜索查询(在窗口右上角的搜索框框中)吗?

更多信息/最终目标:

我们有一个“项目”文件夹,其中包含我们每个项目的子文件夹列表。每个子文件夹名称都以作业编号开头,即:

356 - 22 圣刘易斯大道

357 - 104 Madeitup 广场

项目的发票文件(pdf)都单独存储在一个“发票”文件夹中。每个项目可能有多个发票,因此文件夹中的文件如下所示:

356-1.pdf

356-2.pdf

356-3.pdf

357-1.pdf

357-2.pdf

我的最终目标是能够在每个项目文件夹中拥有一个通用批处理文件,该文件将打开发票文件夹,并通过从项目文件夹名称中解析项目编号,将其输入到搜索框中并仅显示与该项目相关的发票.

0 投票
1 回答
58 浏览

windows-search - 使用 Windows 搜索查找冗长的文件列表

我正在一组特定文件夹中搜索相对较大的文件集合(2000 多个)。特定文件夹(和后续子文件夹)是索引位置。我知道所有文件的名称和路径。它们列在 Excel 电子表格中。

我希望在一次保存的搜索中显示它们。

我可以使用AQS编译搜索:name: filename1 OR name: filename2 .......OR name: filenameN AND Word。此代码适用于一些文件名。但是,我有一个大约 2000 个文件的列表。并且复制并粘贴到搜索窗口中似乎不适用于如此庞大的搜索条件集合。

我确实尝试过使用VBA进行粘贴。但我认为我的查询太大了。

另外,因为我有这么多的搜索条件,我怀疑从头开始编译一个.ms-search文件是不切实际的。

我的问题是:有没有更优雅的方式来实现这一点?可能是将一系列 excel 公式与 CMD 提示相结合的东西。

谢谢你

0 投票
1 回答
1048 浏览

c# - KB4022726 通过 OleDb 中断 Windows 搜索查询

我们正在使用 Windows 搜索来搜索远程共享上的文档,在应用安全更新 KB4022726 后,此功能会中断。

我们的实现是在 C# 中使用 oledb 连接器进行 Windows 搜索

除了卸载 KB4022726 之外,还有什么变通方法吗?

更新CVE-2017-8543可能是相关的。

示例程序- 安装 KB4022726 后失败

错误:

System.Data.OleDb.OleDbException (0x80004005): Uspecificeret fejl
ved System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr) ved System.Data.OleDb.OleDbDataReader.GetRowHandles() ved System.Data.OleDb.OleDbDataReader.ReadRowset( ) ved System.Data.OleDb.OleDbDataReader.Read() ved windowssearchtest.Program.Main(String[] args) i C:\projects_local\windowssearchtest\windowssearchtest\Program.cs:linje 48

更新2017-06-26 我还在运行 win10 - 1703 Windows 搜索的本地计算机上重现了此错误,但当您到达结果集的末尾或 .ExecuteReader() 为空时会抛出错误

我们做了一个破解来解决这个问题,我不推荐这个:

0 投票
0 回答
120 浏览

php - 使用 PHP 的 Windows 搜索

我有一个基本的 PHP 脚本来使用最近停止运行的 Windows 搜索查询索引。

脚本从索引返回结果——所以很多仍然有效——但是当脚本显然无法识别它应该停止循环遍历记录集时会发生致命错误。这是一个 PHP 日志摘录,您可以在其中看到找到并返回结果,然后脚本终止:

[11-Jul-2017 09:55:13 America/New_York] Copyofguidance.58de8e890c10e.xlsx

[11-Jul-2017 09:55:13 America/New_York] SRFWebsiteSchedule.5876a0ab683a8.xlsx

[11-Jul-2017 09:55:13 America/New_York] CSI_D01_S04_T03_STEP.5877ad8385974.pdf

[11-Jul-2017 09:55:13 America/New_York] Copyofguidance.58cbf217868d9.xlsx

[11-Jul-2017 09:55:13 America/New_York] Copyofguidance.58cbf39ca3955.xlsx

[11-Jul-2017 09:55:13 America/New_York] Copyofguidance.58cbf565194fc.xlsx

[2017 年 7 月 11 日 09:55:13 America/New_York] PHP 致命错误:未捕获的异常 'com_exception' 带有消息'来源: 未知
描述: C:\WEB\srf\scripts\windowsSearch.php:149 中的未指定错误堆栈跟踪:

0 C:\WEB\srf\scripts\windowsSearch.php(149): com->moveNext()

1 {main} 在第 149 行的 C:\WEB\srf\scripts\windowsSearch.php 中抛出

以下是相关的代码行:

我注意到 recordCount 方法也会引发致命错误。我不确定是什么改变导致了这个问题,或者是否有另一种方法可以用作解决方法。

使用 ADO 的其他代码继续运行没有问题,尽管该代码连接到 SQL Server,而不是 Windows Search。

Windows 2008 R2 服务器定期收到补丁,PHP 最近更新到 5.6.30。降级不是一个真正的选择,即使结果证明这是问题......

如果我遗漏了任何有用的信息,请告诉我。谢谢你。

0 投票
1 回答
229 浏览

c# - Windows 索引搜索 - OleDbException 未指定错误

尝试在我的 D 驱动器 (D:\TaalTipsDocumenten) 上的文件夹中搜索索引文件时遇到异常 (OleDBException: Not specified Error)。我知道这段代码在过去(2 个月前)有效,但是当尝试继续处理该项目时,它似乎不再有效。

在执行以下代码期间,我在以下行中收到错误:

我可以说数据表(dt)已正确填写,但我仍然在该行收到错误。此外,当尝试将 OleDbDataReader 与 .Next() 函数一起使用时,它会运行结果并最终向我抛出错误。

错误并没有说太多(未指定):

用户代码未处理 System.Data.OleDb.OleDbException ErrorCode=-2147467259 HResult=-2147467259 消息=未指定错误 Source=System.Data StackTrace:在 System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr) 在 System.Data .OleDb.OleDbDataReader.GetRowHandles() 在 System.Data.OleDb.OleDbDataReader.ReadRowset() 在 System.Data.OleDb.OleDbDataReader.Read() 在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping 映射) 在 System.Data .Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) 在 System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 开始记录,Int32 maxRecords) 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[ ] dataTables,Int32 startRecord,Int32 maxRecords,IDbCommand 命令,CommandBehavior 行为)在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) 在 TaalTips.Controllers.HomeController.Search(String word) 在 D:\Projects\TaalTips\TaalTips \Controllers\HomeController.cs:第 40 行,位于 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器,Object[] 参数) 的 lambda_method(Closure , ControllerBase , Object[] ) 在 System.Web.Mvc.ReflectedActionDescriptor.Execute( ControllerContext 控制器上下文,IDictionary字典2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 个参数)在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult 的 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult 的 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) 2.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker。 EndInvokeActionMethod(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f() InnerException:

我已经尝试了一些东西:

  • 重新启动 Windows 搜索服务
  • 从文件夹中删除索引并重新添加
  • 重启电脑
  • 确保所有连接都已关闭
  • 创建一个不同的文件夹并尝试那个(同样的错误)
  • 使用 OleDbDataReader 和 reader.Next(),但给出相同的错误

有人有什么想法吗?

提前致谢 !

0 投票
1 回答
141 浏览

c# - 使用 Windows 搜索服务的文件中的出现次数

我正在使用 Windows 搜索服务从特定文件夹中获取数据并使用以下查询

SELECT System.ItemName,System.ItemType,RANK,System.ItemPathDisplay FROM SystemIndex WHERE directory = 'file:C:/Test/' and CONTAINS ('Swiggy')

在这里,我想得到否。根据我在 Contains 中使用的关键字,在 select 子句中出现。

这意味着我需要找出我的文件中存在多少个关键字 (Swiggy)

我注意到基于其他逻辑给出的 RANK 列。谁能帮我弄到伯爵。

0 投票
1 回答
96 浏览

.net-core - 如何使用 .net-core 通过文件(如对 Windows 搜索平台的查询)执行搜索?

我需要按文件名和内容搜索文件。当前实现使用 Ole DB 连接到 Windows 搜索。但据我了解,Ole db 不会在 .net 核心中实现。我想我应该使用像Lucene这样的解决方案。所以我需要建议,如何至少从 .net-core 访问 Windows 搜索,或者如何在没有 Windows 搜索的情况下以跨平台方式进行访问。