4

我想创建一个热键来搜索Windows XP 中特定文件夹下的文件;我正在使用 AutoHotkey 创建此快捷方式。

问题是我需要知道要运行的命令行语句才能打开标准的 Windows“查找文件/文件夹”对话框。我已经用谷歌搜索了一段时间,但没有找到任何说明如何执行此操作的页面。

我假设如果我知道用于显示此提示的命令行语句,它将允许我为要在哪个文件夹下搜索的参数传递一个参数。我知道您可以通过右键单击 XP 中的文件夹来执行此操作,所以我认为有某种方法可以在命令行上执行此操作...?

4

11 回答 11

5

使用Locate32

这不是您问题的确切答案,但您可以使用Locate32而不是 Windows 搜索工具。它具有一整套命令行选项,并且具有作为索引搜索的巨大优势,这意味着结果将立即显示。这是我在 Windows 上不能没有的工具。

这是您将发出的搜索所有index.php文件的命令D:\home

locate32.exe -r -p D:\home index.php

其中-r开关使 Locate32 立即搜索而无需用户干预(没有它,界面将启动并填充字段,但您必须按 Enter 继续搜索)并且-p D:\home是搜索路径。

使用 AutoHotKey,将上述命令分配给键盘快捷键很简单。

在同一个名为locate.exe. 它使用与 Locate32 相同的索引,但由于它完全基于 CLI,因此脚本语言和其他工具可以使用它来利用它提供的出色搜索性能。

于 2008-09-18T18:47:39.933 回答
4

F3 或 Win+F 是启动查找文件的热键。如果您随后使用所需的条件进行搜索,则可以使用“文件”菜单保存搜索。这将创建一个 .FND 文件。FND 文件可以从命令行或使用 autohotkey 创建的热键启动。

可以编辑 .FND 文件(二进制)并更改它正在搜索的内容,但我会避免这样做,除非这是您完成所需内容的唯一方法。我试过了,效果很好。

于 2008-09-18T20:00:43.863 回答
3

无法从命令行让资源管理器显示“搜索文件”窗格。但是你可以用一些 VBScript 来克服它。

试试这个

'ExplorerFind.vbs
Dim objShell
Set objShell = WScript.CreateObject("Shell.Application")
objShell.FindFiles

并用 cscript /nologo ExplorerFind.vbs 编译它

于 2008-09-18T18:52:11.780 回答
3

来自http://www.pcreview.co.uk/forums/thread-1468270.php

@echo off
echo CreateObject("Shell.Application").FindFiles >%temp%\myff.vbs
cscript.exe //Nologo %temp%\myff.vbs
del %temp%\myff.vbs
于 2008-09-18T18:52:14.777 回答
3

只需执行这一行!(WinKey+R、CmdPrompt、快捷方式、ShellExecute、WinExec 等)

search-ms:query=New%20Folder&

查找桌面中的所有快捷方式

search-ms:query=*.lnk&crumb=folder:%userprofile%\Desktop&

在文件夹“C:\Program Files”中找到文本“exe”

search-ms:query=exe&crumb=location:C:\Program Files&

其他例子

search-ms:query=microsoft&
search-ms:query=vacation&subquery=mydepartment.search-ms&
search-ms:query=seattle&crumb=kind:pics& 
search-ms:query=seattle&crumb=folder:C:\MyFolder&

参考这里http://msdn.microsoft.com/en-us/library/ff684385.aspx

于 2011-09-22T05:31:36.217 回答
0

尝试“启动”。对于windows和linux。很棒的实用程序。

于 2008-09-18T18:40:27.813 回答
0

如果您只需要一个热键,请使用Win+f.

于 2008-09-18T18:40:42.963 回答
0

有点不清楚您想要的最终结果是打开“查找”对话框,还是只是在寻找一种命令行方式来搜索任意目录。如果后者有 FINDSTR (假设您要搜索文件的内容而不是它们的名称):

什么是适用于 Windows 的好 grep 工具?

于 2008-09-18T18:54:26.097 回答
0

除了 Ben Dunlap 的回答:您还可以在 DIR 命令的输出上使用 FINDSTR(例如在 FOR 循环中)这将搜索文件名,而不是文件。

于 2014-10-05T16:16:19.337 回答
0

根据 Vitim.us 从 cmd 的回答,您只需要根据需要 explorer.exe "search-ms:query=*.exe&crumb=location:C:\Program Files&" 更改位置和查询

于 2017-08-15T20:59:38.477 回答
-1

你为什么不尝试抨击F3?:)

于 2008-09-18T18:37:24.047 回答