windows下 教你自定义【运行...】快捷命令

自定义【运行...】快捷命令

不知何时起,渐渐习惯了使用Win+R键呼出【运行...】对话框,然后在其中输入cmd,便能打开Windows命令行方式;输入notepad,便能打开记事本。

今天突发奇想,要是能将这个功能扩展到非Windows自带程序,那该多好啊,比如输入QQ,运行QQ;输入foxmail运行foxmail……

记得以前在学Java时第一课就提到Java的配置问题,要实现在命令行的快捷调用程序,就要在系统环境变量里配置。


其实,cmd与notepad,分别是“命令行程序”与“记事本”的实质程序名:cmd.exe及notepad.exe。而在【运行...】里输入notepad,实则是运行了“C:\windows\system32\notepad.exe”这一条命令。而之所以系统能自动将“cmd”的路径及后缀名补全,是因为设置了系统的环境变量(主要是Path及PATHEXT两个系统环境变量)。

系统环境的变量可以这样查看和修改:
右键【我的电脑/计算机】——【高级】——【环境变量】

Path环境变量,其内容是一些以分号分割的目录。其作用是告诉系统当遇到无法识别的命令时自动去Path所列出的目录中寻找相应文件(程序)。
PATHEXT环境变量,其内容是一些以分号分隔的后缀名。其作用是告诉系统当遇到无法识别的命令时自动补全PATHEXT中所列的后缀名并寻找相应的文件(程序)。

假设:
Path的值(内容)为:c:\path\;d:\document\;
PATHEXT的值(内容)为:.TXT;.MP3;.DOC;

那么,当你输入一个系统不认识的命令(如:a)时,系统会试图寻找以下文件,如果存在,则运行。
C:\path\a.txt
C:\path\a.mp3
C:\path\a.doc
D:\document\a.txt
D:\document\a.mp3
D:\document\a.doc


那么,如果我要让系统能识别QQ,也就是自动将"QQ"补全为“D:\Program Files (x86)\Tencent\QQ\QQ.exe”话,那么无非就是要作以下的添加:
在Path中添加 D:\Program Files (x86)\Tencent\QQ\
在PATHEXT中添加 .EXE
添加的方法是在原先的内容后面添加半角分号,然后跟上要添加的字符串。
根据上面那个例子来添加,则是:
Path的值(内容)为:c:\path\;d:\document\;D:\Program Files (x86)\Tencent\QQ\;
PATHEXT的值(内容)为:.TXT;.MP3;.DOC;.EXE;
于是,当运行“QQ”时候,系统会在以下文件内搜索:
C:\path\qq.txt
C:\path\qq.mp3
C:\path\qq.doc
C:\path\qq.exe
D:\document\qq.txt
D:\document\qq.mp3
D:\document\qq.doc
D:\document\qq.exe
D:\Program Files (x86)\Tencent\QQ\qq.txt
D:\Program Files (x86)\Tencent\QQ\qq.mp3
D:\Program Files (x86)\Tencent\QQ\qq.doc
D:\Program Files (x86)\Tencent\QQ\qq.exe

显然,只有最后一条路径是有效的,于是QQ运行……


事情并没有那么简单。如果有这么简单的话我也不会为此写一篇博客了。

我想实现以下功能:在【运行...】中输入"ue",便能打开UltraEdit(一个十六进制编辑器)。

好,问题来了。UltraEdit程序并不是以“ue.exe”命名的,而是:"uedit32.exe"

换言之,当我即便我添加了UE的程序路径与后缀名后,系统仍是以 [路径]ue.[后缀名]的形式来寻找的,并不能找到"D:\Program Files (x86)\IDM Computer Solutions\UltraEdit-32\uedit32.exe"

这样的情况还有很多,比如我想输入“ut”打开μTorrent,输入"hi"打开百度Hi,输入"word"打开Microsoft Word。而这些程序的名字分别为:uTorrent.exe、BaiduHi.exe、winword.exe。

我们可以利用快捷方式+环境变量的方式来解决。

首先,随便在哪儿新建一个文件夹,名字也随意。比如我建立的是C:\MyRun,并把它添加到环境变量Path中,使之成为默认搜索的文件夹;再在PATHEXT中添加.LNK ,使默认搜索快捷方式文件(.lnk)。

然后在此文件夹中新建快捷方式,将快捷方式指向要打开的文件(程序),而快捷方式本身命名为方便记忆的名称。

例如快捷方式名为ue,而它指向的是:"D:\Program Files (x86)\IDM Computer Solutions\UltraEdit-32\uedit32.exe"

这样一来,当我【运行...】“ue”时,系统会自动找到C:\MyRun\ue.lnk,而它直接指向uedit32.exe,并自动打开之。

利用环境变量+快捷方式的方法,还可以实现许多效果。

比如输入music打开“我的音乐”文件夹,就是在C:\MyRun目录下建立一个名为music并指向我的音乐的文件夹(我计算机中路径是“I:\我的文档\音乐”,大家的可能不一样,多半是默认的吧。)

又如,直接将快速启动栏的“显示桌面”按钮拖动到"C:\MyRun"下,则可以打开“桌面文件夹”。——这个问题很奇怪,直接运行该文件是最小化所有窗口显示出桌面,而当通过【运行...】desktop快捷方式时,则变成了打开一个以桌面为当前路径的资源管理器窗口……

问题还没结束,我又想实现的效果是:【运行...】wildgun,直接在浏览器中打开我的博客链接(http://hi.baidu.com/wildgun)。


为此我研究了一番,找到了三条都并不完美的方法。于是我将之都列出,说明其缺陷及其实现方法:

方法一:网页快捷方式文件
缺点:需要跟.url后缀。
实现方法:直接把网页做成网页快捷方式文件(*.url)如wildgun.url指向http://hi.baidu.com/wildgun,并在PATHEXT中添加.URL后缀。
虽然已经添加该后缀,但命令行仍无法自动找到该文件,需【运行...】“wildgun.url”方能打开。
多了4个字符,违背了偷懒的精神,不考虑使用该方法。

方法二:批处理+网页跳转
缺点:要创建两个文件,并且在运行批处理程序时会自动跳出“命令行方式”的黑色窗口
实现方法:在C:\MyRun下建立wildgun.bat程序,其内容为:wildgun.html
并在C:\MyRun 下建立wildgun.html网页文件,网页文件内容是使用<meta>或javascript跳转至我的个人博客。
meta法:<meta http-equiv="refresh" content="1;url=http://hi.baidu.com/wildgun/">
javascript法:<script>window.location.href("http://hi.baidu.com/wildgun");</script>
但总觉得有窗口闪一下跳出来很麻烦,感觉是后台被运行了什么危险程序,而虽然可以用VBScript脚本是指在后台运行,但似乎用了VBS就更接近危险程序了- -,放弃此方案。

方法三:浏览器快捷方式+URL
缺点:只能确定以某个浏览器打开网页,而无法设定为使用系统默认浏览器打开。(换言之,哪天系统默认浏览器改了,自定义命令仍是以快捷方式所指向的浏览器打开。)
实现方法:新建快捷方式文件,命名为wildgun,指向 "D:\Program Files (x86)\Maxthon2\Maxthon.exe" http://hi.baidu.com/wildgun
(上行中指向内容包括引号内的路径及引号后的网址)
这样,系统就会以maxthon.exe打开我的百度空间了。经试验,IE、Maxthon2、TT、Opera、Safari、Chrome都支持这种方式打开。

我现在用的就是这种方式。当然,期待完美解决方案,能实现以系统默认浏览器打开。

顺便一说,结合上次的研究,我现在可以在【运行...】中输入“utadmin”,直接打开μTorrent的WebUI,实现更方便更快捷的远程控制了!

于是大家也试着玩玩看吧。
  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: CMake是一个开源的跨平台构建工具,它可以用来管理C++项目的编译过程,能够生成Makefile、Visual Studio工程等多种构建描述文件,并且支持多种不同的操作系统和编译器环境。 CMake最新版本为3.23.1,该版本在Windows下的使用方法与其他操作系统并无太大差异。使用CMake的过程中,首先需要在CMake的官方网站上下载相应的安装包,然后进行安装。安装完成之后,打开命令行或者终端,进入项目所在目录,执行以下命令: cmake . 该命令会自动查找CMakeLists.txt文件,并根据文件中的指令生成相应的Makefile或Visual Studio工程。在生成的工程中,可以进行编译、链接等操作,最终生成可执行文件或者库文件等目标文件。 除此之外,CMake还支持很多高级功能,比如设置编译选项、添加自定义模块、打包发布等,可以根据实际需要进行使用和配置。总之,CMake是一个非常强大和优秀的构建工具,适用于各种不同类型的C++项目。 ### 回答2: CMake是一个跨平台的Make工具,在Windows系统下,CMake可以通过官网下载最新版的安装包进行安装,当前最新稳定版本为CMake 3.23.1。安装时需要注意选择合适的版本,32位或64位根据自己的操作系统来选择。 安装完成后,在命令行输入cmake --version,可以查看到CMake的版本信息,确保安装成功。CMake支持的语言包括C、C++、Java、Python等,需要根据所需项目的语言进行相应的配置。 CMake使用的基本流程为创建一个项目文件夹,在其中添加CMakeLists.txt文件进行项目配置。在CMakeLists.txt文件中,需要指定项目名称、版本号、需要编译的源文件、编译器选项等。编写完成CMakeLists.txt后,在项目文件夹中创建一个build文件夹,进入build文件夹执行cmake ..命令,即可开始编译项目。 在CMake中,还可以进行交叉编译、生成不同类型的工程文件、配置编译选项等。CMake的强大之处在于其跨平台性和高度可定制性,适合用于各类复杂项目的构建和管理。 ### 回答3: CMake是一个跨平台的构建工具,可以自动生成Makefile或其他构建工具所需要的文件。它的运行环境包括各种不同的操作系统和编译器。 Windows下的CMake3.23.1是CMake的最新版本,它增加了许多新特性和改进,提高了CMake的性能和易用性。 其中包括: 1.新增对最新的C++标准的支持:CMake3.23.1增加了对C++20的支持,这样可以使用最新的语言特性和标准库。 2.优化生成代码的速度:增加了多种技术来加速代码生成过程,从而缩短了构建时间。 3.增加了新的命令支持:CMake3.23.1增加了许多新的命令和选项,使得配置和构建更加灵活。 4.增强了Windows下的构建支持:CMake3.23.1为Windows增加了更多的构建选项和特性,使得开发者在Windows下构建应用更加容易和快捷。 总的来说,CMake3.23.1为Windows下的开发者提供了更强大、更快速、更灵活的构建工具,方便他们快速构建自己的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值