使用批处理脚本在特定目录中启动Git-Bash窗口
问题描述
平时想要在项目目录中输入git命令,我需要先打开git-bash窗口,然后还要cd到项目目录中。这挺麻烦的。我现在想:
通过批处理脚本,直接在某个目录中启动git-bash窗口。
实现
在项目目录下,创建一个批处理脚本(StartGitBash.bat)文件,写入如下的命令:
startF:\Program""Files\Git\git-bash.exe--cd=D:\dev\workspace\HexoTools
命令解释start用于启动一个窗口F:\Program""Files\Git\git-bash.exe是git-bash的路径,注意路径中间的空格要用引号包起来--cd=D:\dev\workspace\HexoTools指定git-bash的启动目录为D:\dev\workspace\HexoTools,点击批处理在项目目录下打开git-bash
现在我只要点击项目目录下的StartGitBash.bat:
就可在项目目录下打开git-bash了:
升级
上面的实现方式虽然可以快速某个项目中打开git-bash.exe,但是这种实现方式不通用,所以我改进了一下,通过输入项目路径来快速在该目录下快速打开git-bash.exe。为了后面调用的时候少打点字,我把文件名改为StartGit.bat,代码如下:
@echooffset/Pinput="输入要在git-bash中打开的项目路径:"startF:\Program""Files\Git\git-bash.exe--cd=%input%
通过Win+R调用
然后把这个StartGit.bat所在的目录放到path环境变量中,这样就可以通过win+r调用了,调用的步骤为:
复制一个项目的路径.
打开运行,输入StartGit然后回车(大小写无所谓).
然后粘贴项目路径,按回车,这样就可以快速在Git-bash.exe中快速进入该项目路径了.
运行效果如下:
参考资料
如何使用脚本启动具有特定工作目录的GitBash窗口?
Windows10
这基本上是@lengxuehx的答案,但是针对Win10进行了更新,它假设你的bash安装来自git官方下载的 GitBashforWindows。
cmd/c(start/b"%cd%""C:\ProgramFiles\GitW\git-bash.exe")&&exit
在我丢失GitBash的上下文菜单项作为我从命令注册表设置运行的命令后,我最终使用了这个。如果你对此感到好奇,我这样做了:
- 在HKEY_CLASSES_ROOT\Directory\Background\shell的shell键中创建一个名为Bash的新键
- 将字符串值添加到Icon (不是新密钥!),它是git-bash.exe的完整路径,包括git-bash.exe部分。您可能需要将其包装在引号中。
- 在上下文菜单中将Bash的默认值编辑为要使用的文本
- 在Bash添加一个名为command的子键
- 将command的默认值修改为cmd/c(start/b"%cd%""C:\ProgramFiles\GitW\git-bash.exe")&&exit
然后你应该能够关闭注册表并从任何真正的目录开始使用GitBash。例如, ThisPC不是真正的目录。
如何使用脚本(bash或Windows批处理)启动具有指定工作目录的新GitBash窗口?
我的目标是从单个脚本启动多个GitBash窗口,每个窗口都设置为不同的工作目录。通过这种方式,我可以在启动计算机后快速开始工作,而不必打开GitBash窗口并将每个窗口导航到正确的工作目录。
编辑:我不是问如何更改默认工作目录,就像这个问题一样,而是从脚本启动一个或多个具有不同工作目录的终端窗口。
GitBash使用cmd.exe作为终端加上MSYS/MinGW的扩展,这是由sh.exe (一种cmd.exe包装器)提供的。在Windows中,使用start命令启动新终端。
因此,启动具有特定工作目录的新GitBash终端的shell脚本是:
(cdC:/path/to/dir1&&startsh--login)&
(cdD:/path/to/dir2&&startsh--login)&
等效的Windows批处理脚本是:
C:cd\path\to\dir1start"""%SYSTEMDRIVE%\ProgramFiles(x86)\Git\bin\sh.exe"--login
D:cd\path\to\dir2start"""%SYSTEMDRIVE%\ProgramFiles(x86)\Git\bin\sh.exe"--login
要获得与从开始菜单启动的GitBash相同的字体和窗口大小,最简单的方法是将开始菜单快捷方式设置复制到命令控制台默认设置(更改默认值,打开cmd.exe ,左键单击左上角的图标,并选择默认值)。
尝试使用--cd=选项。假设您的GITBash位于C:\ProgramFiles\Git中,它将是:
"C:\ProgramFiles\Git\git-bash.exe"--cd="e:\SomeFolder"
如果在注册表项中使用,则可以使用%1提供文件夹参数:
"C:\ProgramFiles\Git\git-bash.exe"--cd="%1"
我不熟悉GitBash,但假设它是一个位于/path/to/my/gitshell的gitshell(例如git-sh ),而你最喜欢的终端程序叫做`myterm',你可以编写以下脚本:
(cddir1;myterm-e/path/to/my/gitshell)&
(cddir2;myterm-e/path/to/my/gitshell)&...
请注意,执行的参数-e可能与您最喜欢的终端程序命名不同。
这是可以在Rundialogbox直接执行的命令(快捷键是win + R ),也可以保存为.bat脚本:
cmd/c(start/d"/path/to/dir"bash--login)&&exit
补充
idea中可以直接设置terminal为git-bash
nice这个方法好,不用进入工作目录再右键了
以上就是使用批处理脚本在特定目录中启动Git-Bash窗口的详细内容,更多关于批处理启动Git-Bash窗口的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。