Windows7下Cygwin加入鼠标右键,打开当前目录

本文详细介绍如何通过创建Cygwin.bat脚本和修改注册表,实现在Windows资源管理器中任意目录下快速启动Cygwin终端。文章包括脚本编写、注册表修改步骤及效果测试。

转自: http://herry2013git.blog.163.com/blog/static/2195680112013437139447/

问题产生:

装好了Cygwin,常常需要键入长长的路径,才能进入当前目录,非常不方便。

搜索了相关做法,现在总结如下。

Cygwin安装好之后,默认安装是在C:\cygwin。

  1. 增加Windows脚本

在C:\cygwin下,用记事本创建一个文本文件,保存并命名为Cygwin.bat。

这个bat文件其实就是Dos命令组成的脚本文件。

键入如下代码

@echo off
set _T=%CD%
echo %_T
C:
chdir C:\cygwin\bin

@rem bash --login -i
start mintty.exe -e /bin/bash --login -i
代码注意:

请注意第四行,和第五行里面的路径,如果你安装Cygwin的时候,路径选择了D盘,请做相应的修改。

拷贝注意:

因为网页的关系,显示代码还是不太完善。拷贝的时候会把一些不该拷贝的字符也拷贝进去,比如空格。这就会造成脚本运行的不正常。

图1.1 用EditPlus显示特殊字符,例如制表符,空格。

image

图1.2

image

图1.3 请注意,一定要把%CD%后面的空格删除。

image


代码解释

1 第一行@echo off

表示关闭回显
DOS在运行批处理时,
会依次执行批处理中的每条命令,
并且会在显示器上显示,
如果你不想让它们显示,
可以加一个“echo off”

当然,“echo off”也是命令,
它本身也会显示,
如果连这条也不显示,
就在前面加个“@”。
知识点来源http://zhidao.baidu.com/question/21121153.html
2.第二行set _T=%CD%
%CD%表示 本地返回当前目录字符串
我们想鼠标右键打开当前目录,就需要得到当前目录的路径。
set _T表示设置一个变量,set _T=%CD% 表示把当前目录的路径字符串给变量_T
很多博文都写成set _T=%*,%*表示一次返回全部参数的值。这样就永远无法在当前目录下打开
知识点来源 http://wenku.baidu.com/view/8e28ed94dd88d0d233d46ac6.html
8.第八行start mintty.exe 是打开位于C:\cygwin\bin目录下的mintty.exe程序

  1. 修改.bash_profile文件,
    该文件位于C:\cygwin\home(用户名)目录下,在.bash_profile文件最后加入。
    export _T=${_T//\//}
    if [ T = = " " ] ; t h e n e x p o r t T =   f i c d " _T == "" ]; then export _T=~ fi cd " T==""];thenexportT= ficd"_T"
    .bash_profile里面的内容是Linux Shell脚本。

脚本解释

${_T}表示得到_T的内容

${_T//\//} 表示把_T内容所有的里的\换成/----因为windos路径往往写为C:\aa\bb,这句话的作用是把C:\aa\bb,变成C:/aa/bb.因为\本身在语法里的有特别的含义,所以用了双,(红色部分表示猜测,不敢肯定,因为我还没有系统学过Linux Shell)

语法知识点

${parameter/pattern/string}
${parameter//pattern/string}
在这里pattern也是一个模式,parameter展开后最长匹配的部分被string替换。第一种情况只替换首次匹配,第二种情况替换所有匹配。

知识点来源 http://www.wuzesheng.com/?p=552uid-11196893-id-363248.html

~表示Cygwin的当前用户目录,例如C:\cygwin\home\用户名

  1. 修改windows注册表 ,达到鼠标右键有个OpenCygwin菜单的目的

(修改注册表之前需要备份,防止错误操作伤害系统。)

3.1 开始->运行(或者win键+R),输入REGEDIT,回车,打开注册表编辑器;

3.2 找到HKEY_CLASSES_ROOT\Directory\Background\shell;

3.3 右键点击shell,“新建”->“项”,名字是要显示在右键菜单中的,可以随便写。这里写“OpenCygwin”,回车;

3.4 在刚创建的“OpenCygwin”上点右键,新建->项,这回名字不能乱起,写“command”,回车。右边窗口会显示一个名字叫“默认”,类型为“REG_SZ”的键值;

3.5 双击那个“默认”,能够修改数值数据,里面输入Cygwin的启动脚本路径,比如我们第一步创建好的“C:\cygwin\Cygwin.bat”,把引号去掉,写好确定。

3.6 现在在文件夹中点开右键,你就可以看到多了一个名字叫“OpenCygwin”的选项了。

  1. 测试一下上述操作效果

在Windows资源浏览器中,任意打开一个目录,鼠标右键。

4.1鼠标右键菜单已经有一个OpenCygwin

image

4.2 点击OpenCygwin,Cygwin的命令行窗口出现了,是进入所在目录的窗口,不是C:\Users\Administrator之类的用户目录

image

引用参考文档

  1. http://www.v2ex.com/t/49013 -----(得到正确的脚本写法,但是还是有问题)

  2. http://blog.youkuaiyun.com/wjr2012/article/details/7964005 —(明白如何修改注册表,增加鼠标右键菜单)

3.http://blog.youkuaiyun.com/appletreesujie/article/details/8534397---(原文中bat脚本有误,原文为set _T=%,应该为set _T=%CD%, 如果按照原文set _T=%,这样写,永远也进不了想要打开的当前目录,而是进入E:/cygwin/home/tony_su)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值