我想创build一个热键来searchWindows XP中的特定文件夹下的文件 ; 我正在使用AutoHotkey来创build这个快捷方式。
问题是我需要知道要运行的命令行语句才能打开标准的Windows“查找文件/文件夹”对话框。 我google了一会儿,并没有发现任何页面指示如何做到这一点。
我假设,如果我知道提出这个提示的命令行语句,它将允许我传入一个参数,我想要在哪个文件夹下进行search。 我知道你可以通过在XP中右键单击一个文件夹来做到这一点,所以我认为有一些方法,我可以在命令行上做到这一点…?
从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
这不是您的问题的确切答案,但您可以使用Locate32而不是Windows搜索工具。 它具有一整套命令行选项,并且具有索引搜索的巨大优势,这意味着结果将立即显示。 这是我在Windows上不能没有的工具。
这是你要发送的命令来搜索D:\home
所有index.php
文件:
locate32.exe -r -p D:\home index.php
在-r
开关使Locate32搜索立即没有用户干预(没有它,接口将启动和字段将填充,但你必须按Enter键继续进行搜索)和-p D:\home
是搜寻路径。
使用AutoHotKey,将上述命令分配给键盘快捷方式很简单。
在同一个名为locate.exe
软件包中还有一个完全基于命令行的Locate32版本。 它使用与Locate32相同的索引,但由于它完全基于CLI,可以被脚本语言和其他工具使用,以利用其提供的出色搜索性能。
F3或Win + F是一个热键,将启动查找文件。 如果您使用所需条件进行搜索,则可以使用“文件”菜单保存搜索。 这将创建一个.FND文件。 FND文件可以从命令行或通过使用autohotkey创建的热键启动。
可以编辑.FND文件(二进制文件)并更改它正在搜索的内容,但是我会避免这样做,除非它是您完成所需内容的唯一方法。 我试过了,它工作正常。
从命令行无法让资源管理器显示搜索文件窗格。 但是你可以用一些VBScript来解决它。
尝试这个
'ExplorerFind.vbs Dim objShell Set objShell = WScript.CreateObject("Shell.Application") objShell.FindFiles
并用cscript / nologo ExplorerFind.vbs进行编译
只要执行这一行! (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&
尝试“Launchy”。 对于Windows和Linux。 真棒util。
如果你只需要一个热键,然后使用Win+f
。
你想要的最终结果是打开的“查找”对话框,还是只是寻找一种命令行方式来搜索任意目录,这一点还不清楚。 如果后者有FINDSTR(假设你想搜索文件的内容而不是他们的名字):
什么是Windows的良好的grep工具?
除了Ben Dunlap的回答:还可以在DIR命令的输出上使用FINDSTR(例如在FOR循环中)。这将搜索文件名,而不是搜索文件。
基于从cmd Vitim.us的答案,所有你需要的是explorer.exe "search-ms:query=*.exe&crumb=location:C:\Program Files&"
根据需要更改位置和查询
你为什么不试试抨击F3? 🙂