如何设置Everything
让它调用外部文件管理器
以及自定义上下文菜单
-------------------------------------------------------------------------------------------
Windows自带的资源管理器explorer.exe,是极其鸡肋的。所以我们使用Everything,以及其它的文件管理器,提高生产力。但是explorer.exe无处不在,即使你修改了系统注册表,或在自己的第三方文件管理器选项中替换了系统默认,有时候它还是不听使唤跳出来,令人恼火,简直反人类。
本文针对Everything,彻底修改其选项。
准备工作:首先安装好要替换的目标文件管理器,复制其绝对路径和文件名。
在我的机器中,我用的是XYplorer.exe,因为路径中有空格,必须包含引号,它的路径是:
"D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe"
如果使用其它,例如Xplorer2、Total Commander、Explorer++,等等,以此类推。
以下详细说明,如需快速了解,请看重点的橙色部分即可。
第一步:
1、退出“Everything”。打开“Everything”安装文件夹中的配置文件Everything.ini。
2、添加如下两行到文件末尾。
open_folder_command=$exec("ExternalFileManager.exe" "%1")
open_folder_path_command=$exec("ExternalFileManager.exe" "$parent(%1)")
其中的ExternalFileManager.exe就是目标的第三方文件管理器。注意两个引号之间有空格。
我写进去的是酱紫:
open_folder_command=$exec("D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe" "%1")
open_folder_path_command=$exec("D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe" "$parent(%1)")
3、重启“Everything”。
光凭以上是不够的。在搜索结果里,如果你点击(或右键菜单)某个文件、文件夹,explorer.exe还是跳了出来,极其不爽。
第二步:
打开Everything,选择菜单-工具-选项-上下文菜单,如下图:
程序内置的命令有7个,对应命令分别为:
1、打开(文件夹)
$exec("%1")
2、打开(文件)
$exec("%1")
3、打开路径
$exec("%SystemRoot%\explorer.exe" /select,"%1")
4、浏览(被隐藏的选项,可关闭隐藏,可自定义命令)
$exec("%SystemRoot%\explorer.exe" /n,/e,"%1")
5、浏览路径(被隐藏的选项,可关闭隐藏,可自定义命令)
$exec("%SystemRoot%\explorer.exe" /n,/e,/select,"%1")
6、复制路径(被隐藏的选项,可关闭隐藏)(无法自定义命令)
7、复制完整的路径和文件名(无法自定义命令)
我们要做什么:
因为我们第一步,已经在配置文件Everything.ini中写入了替换的XYxplorer.exe。
如果处女座非要改,也很简单,再做一遍就是了,把XYxplorer.exe的绝对路径直接写进去。
下面就是更改前后的对比:
1、打开(文件夹)
$exec("%1")
改为:
$exec("D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe" "%1")
2、打开(文件)
$exec("%1")
同样改为:
$exec("D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe" "%1")
至于为什么被隐藏,因为它的功能是重复的,下文有解释。
这三个命令,都强制指定了windows自带的文件管理器:"%SystemRoot%\explorer.exe",
因此我们在第一步写入的Everything.ini,是不起作用的,必须替换掉。这就是写本文的初衷。
另外,这三个命令使用了这些命令行参数:/n, /e, /select。这些参数适用于explorer.exe,他们的含义分别是:
/n 为默认选择内容打开一个新的单窗格窗口。
/e 使用默认视图启动文件资源管理器。
/select,打开一个窗口视图,指定的文件夹、文件或程序被选中。
但是这些参数并不适用于我们指定的外部管理器XYexplorer.exe,必须删除。
Everything提供了以下几个参数,可满足使用。
$parent(文件名) 返回指定文件(或者文件夹)的父文件夹
$pathpatrt(文件名) 返回指定文件(或者文件夹)的父文件夹
$namepart(文件名) 返回指定文件(或者文件夹)的名称
%1=指定的文件名
命令3、4、5按以下更改:
3、打开路径
$exec("%SystemRoot%\explorer.exe" /select,"%1")
改为:
$exec("D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe" "$parent(%1)")
4、浏览
$exec("%SystemRoot%\explorer.exe" /n,/e,"%1")
改为:
$exec("D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe" "%1")
5、浏览路径
$exec("%SystemRoot%\explorer.exe" /n,/e,/select,"%1")
改为:
$exec("D:\software\文件管理\XYplorer文件系统管理工具 v15.30 绿色版\XYplorer\XYplorer.exe" "$parent(%1)")
OK,大功告成。Windows自带的Explorer.exe再也不会跑出来了。
想了解更多,请看以下内容:
---------------------------------------------------------------------------------------------------------
几个命令的含义和异同:
【4浏览】=【1打开文件夹】, 完全相同的重复命令,所以命令4被默认隐藏。
含义:打开【当前文件夹】,即打开它本身。
此命令仅对文件夹有效。对于文件,不存在浏览,所以无效,根本不出现。
【5浏览路径】=【3打开路径】。完全相同的重复命令,所以命令5被默认隐藏。
含义:打开其【父文件夹】,即打开它的上一级。
此命令对文件、文件夹,均有效。因为他们肯定都有父文件夹。
我的建议:命令4、5可以保持隐藏,打开6就行了。反正是重复的,菜单多了眼花,还费脑子。
几个命令的有效性:
命令1、2,
在搜索结果中,整个窗口均有效。
意思是:【名称】列、【路径】列,均可点击执行。
命令3、4、5、6,
在搜索结果中,仅对文件名有效。
意思是:此命令仅在【名称】列出现,右键菜单可见。在【路径】列不出现。
相关的其它选项:
工具—选项--常规--结果—复制路径包括双引号(勾选有效)
对于其它两个Everything命令行参数:
$pathpatrt(文件名) 返回指定文件(或者文件夹)的父文件夹
$namepart(文件名) 返回指定文件(或者文件夹)的名称
经过研究,实质上是重复了,意义不大,没用上。