天天看点

【cmd】创建“在终端中打开”右键菜单

  在linux中可以通过nautilus-open-terminal很方便的在文件夹中打开终端(打开终端后终端自动进入当前所在的路径),充分的利用了gui直观方便的特点,省去了大量切换路径的功夫。那么,在windows下是否可以做同样的事情呢?接下来就来解决这个事情。

  我们知道,在linux中是通过在右键菜单中添加了“open in terminal”选项,这样鼠标到哪里,终端就可以在哪里打开。因此,思路就是在windows的右键中也添加这样一个快捷键。如图:

【cmd】创建“在终端中打开”右键菜单

  那么如何修改右键菜单呢?右键菜单的设置项在注册表中,注册表是windows系统十分强大的数据库,存储着系统、软件的配置,没有它计算机的日常活动都将瘫痪。打开regedit(注册表编辑器),可以看到有五大部分:

【cmd】创建“在终端中打开”右键菜单

五大部分在这里不做过多的说明,这里只需了解右键的的编辑集中在第一个部分:HKEY_CLASSES_ROOT中即可。我们知道,在不同的地方右键、对不同的文件或文件夹右键,所弹出来的菜单是不一样的, 因为windows是将他们分开存储的在不同的项下的。在HKEY_CLASSES_ROOT中,可以看到Drive项(管理在“我的电脑”中右键驱动器),可以看到Directory项(管理在目录中右键),可以看到Folder项(管理右键“文件夹”),可以看到*项(管理右键“文件”)等。

很显然,我们需要用到的是Directory项。进入directory项,有一个shell项,可以发现同时还有一个background项,background项下面也有一个shell项。那么这两个哪个是需要的项呢?经过试验(其实合理的推测也可以),发现background下的shell是我们要修改的对象。在shell下新建一个“在终端中打开”子项,然后在“在终端中打开”下再新建一个“command”子项,command子项自动建立一个名为(默认)的值,这个名称是不可更改的,在每个项下都会有这么一个默认值,但是数值数据是(数值未设置)。现在在桌面或者文件夹中右键,可以看到多出了“在终端中打开”这个选项了,但是由于数值数据还没有设定,还不具备“功能”。要实现这个功能,我们需要输入cmd.exe /k,虽然在终端中exe可以省略,但是在这里是不能省略.exe后缀的。

【cmd】创建“在终端中打开”右键菜单
【cmd】创建“在终端中打开”右键菜单

现在随便进入一个目录,例如F盘,选中右键中的”在终端中打开“,就打开了终端并且目录是在F盘了。

【cmd】创建“在终端中打开”右键菜单

同样的道理,我们还可以在右键中添加编译、运行等选项,思路为:找到项的位置、输入命令,这听上去很酷,不过右键如果太多会显得很繁杂,反倒降低了实用性,不应该滥用。另外动注册表须要谨慎,随意修改有可能对系统造成破坏。