我知道在资源管理器中,您可以转到地址栏并键入cmd
以打开当前所在目录的命令提示符。我正在寻找一种使用 cygwin 执行相同操作的方法。在 cygwin 中,我可以cd C:
脱离安装文件夹并进入任何驱动器,但我正在寻找一种快速方法,在资源管理器中打开 cygwin 到我已经所在的路径。
我已将 C:\cygwin 添加到路径中,并且可以从任何地方(甚至是资源管理器的地址栏)运行 Cygwin.bat,但它会打开我的 cygwin 主目录。我该如何更改该 bat 以允许我想要它执行的操作?
答案1
您可以编辑您的 Cygwin.bat,或者如果您愿意,可以创建第二个批处理文件来与之配合,如下所示...
@echo off
C:
chdir %cd%
C:\cygwin\bin\bash.exe --login -i -c "cd '%cd%' && bash"
从 Explorer 运行该程序应该会给你你想要的东西。
答案2
不完全是你想要的,但是 cygwin 的非常有用切雷命令,它为资源管理器中的目录窗口设置一个上下文菜单,以在该目录级别打开命令提示符(或 rxvt 提示符或 mintty 提示符)。
答案3
我从以下http://c2.com/cgi/wiki?BetterCygwinTerminal
//Make sure rxvt is part of your Cygwin install, and update your C:\cygwin\cygwin.bat to this:
@echo off
C:
chdir \cygwin\bin
start rxvt -sr -sl 10000 -fg white -bg black -fn fixedsys -fb fixedsys -tn cygwin -e /bin/bash --login -i
由于 bat 文件可以接受参数,我不知道您是否想在调用时传递当前目录,或者只是使用一个完全不同的目录,但chdir
上面的行是您想要更改的。用于在调用时设置(例如 Cygwin.bat C:\code)
@echo off
C:
chdir %1
start rxvt -sr -sl 10000 -fg white -bg black -fn fixedsys -fb fixedsys -tn cygwin -e /bin/bash -login -i
当然,如果您想实现这两个选项,设置一个默认目录并在调用时指定目录,那么您将需要对参数使用一些 if else 逻辑。