Cygwin 而不是从资源管理器打开 cmd?

Cygwin 而不是从资源管理器打开 cmd?

我知道在资源管理器中,您可以转到地址栏并键入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 逻辑。

相关内容