使用批处理脚本在特定目录中启动Git-Bash窗口
问题描述
平时想要在项目目录中输入git
命令,我需要先打开git
-bash
窗口,然后还要cd
到项目目录中。这挺麻烦的。我现在想:
通过批处理脚本,直接在某个目录中启动git
-bash
窗口。
实现
在项目目录下,创建一个批处理脚本(StartGitBash.bat
)文件,写入如下的命令:
start F:\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
,代码如下:
@echo offset /P input="输入要在git-bash中打开的项目路径:"start F:\Program" "Files\Git\git-bash.exe --cd=%input%
通过Win+R调用
然后把这个StartGit.bat
所在的目录放到path
环境变量中,这样就可以通过win+r
调用了,调用的步骤为:
复制一个项目的路径.
win+R
打开运行,输入StartGit
然后回车(大小写无所谓).
然后粘贴项目路径,按回车,这样就可以快速在Git-bash.exe
中快速进入该项目路径了.
运行效果如下:
参考资料
如何使用脚本启动具有特定工作目录的Git Bash窗口?
Windows 10
这基本上是@ lengxuehx的答案,但是针对Win 10进行了更新,它假设你的bash安装来自git官方下载的 Git Bash for Windows。
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
在我丢失Git Bash的上下文菜单项作为我从命令注册表设置运行的命令后,我最终使用了这个。 如果你对此感到好奇,我这样做了:
- 在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:\Program Files\GitW\git-bash.exe") && exit
然后你应该能够关闭注册表并从任何真正的目录开始使用Git Bash。 例如, This PC不是真正的目录。
如何使用脚本(bash或Windows批处理)启动具有指定工作目录的新Git Bash窗口?
我的目标是从单个脚本启动多个Git Bash窗口,每个窗口都设置为不同的工作目录。 通过这种方式,我可以在启动计算机后快速开始工作,而不必打开Git Bash窗口并将每个窗口导航到正确的工作目录。
编辑:我不是问如何更改默认工作目录,就像这个问题一样,而是从脚本启动一个或多个具有不同工作目录的终端窗口。
Git Bash使用cmd.exe作为终端加上MSYS / MinGW的扩展,这是由sh.exe (一种cmd.exe包装器)提供的。 在Windows中,使用start命令启动新终端。
因此,启动具有特定工作目录的新Git Bash终端的shell脚本是:
(cd C:/path/to/dir1 && start sh --login) &
(cd D:/path/to/dir2 && start sh --login) &
等效的Windows批处理脚本是:
C: cd \path\to\dir1 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
D: cd \path\to\dir2 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
要获得与从开始菜单启动的Git Bash相同的字体和窗口大小,最简单的方法是将开始菜单快捷方式设置复制到命令控制台默认设置(更改默认值,打开cmd.exe ,左键单击左上角的图标,并选择默认值)。
尝试使用--cd =选项。 假设您的GIT Bash位于C:\ Program Files \ Git中,它将是:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"
如果在注册表项中使用,则可以使用%1提供文件夹参数:
"C:\Program Files\Git\git-bash.exe" --cd="%1"
我不熟悉Git Bash,但假设它是一个位于/path/to/my/gitshell的git shell(例如git-sh ),而你最喜欢的终端程序叫做`myterm',你可以编写以下脚本:
(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) & ...
请注意,执行的参数-e可能与您最喜欢的终端程序命名不同。
这是可以在Run dialog box直接执行的命令(快捷键是win + R ),也可以保存为.bat脚本:
cmd /c (start /d "/path/to/dir" bash --login) && exit
补充
idea中可以直接设置terminal为git-bash
nice 这个方法好,不用进入工作目录再右键了
以上就是使用批处理脚本在特定目录中启动Git-Bash窗口的详细内容,更多关于批处理启动Git-Bash窗口的资料请关注猪先飞其它相关文章!
相关文章
- 这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)
批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30- 本文介绍一下在C#中执行批处理文件(*.bat)的方法。...2020-06-25
- 这篇文章主要介绍了windows批量检测文件(夹)是否存在的批处理程序,需要的朋友可以参考下...2020-06-30
- 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。...2020-06-30
- 这篇文章主要介绍了使用批处理脚本在特定目录中启动Git-Bash窗口,需要的朋友可以参考下...2020-08-14
- 在重装系统后,可能需要配置计算机的环境变量,在这里以配置Java环境变量为例讲解一种比较简单的设置方法,需要的朋友可以参考下...2020-06-30
- 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们...2020-06-30
- 这篇文章主要为大家详细介绍了python实现批处理文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-07-28
- 只要将下面的代码保存为1.bat运行一下即可自动设置win2003的安全,完成后自动重启,需要的朋友可以参考下。...2016-01-27
- 这篇文章主要为大家详细介绍了Windows下使用批处理文件.bat删除旧文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-30
- 这篇文章主要介绍了批处理将字符串或日期输出到Windows剪贴板的实现方法,主要是借助系统自带的clip.exe,这里为大家介绍一下,需要的朋友可以参考下...2020-08-14
- 这篇文章主要介绍了批处理中字符串分割实现代码,需要的朋友可以参考下...2020-08-14
- 这篇文章主要介绍了批处理ren重命名的方式,可以批量修改文件名,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-30
解决php curl_multi批处理造成CPU负载过高问题
今天在利用curl_multi函数来获取一些外网内容时发现只要一运行curl_multi函数我的cpu就占得非常的高,后来看一站长分享了此问题解决方法我也整理一下与各位分享一下,希...2016-11-25- 这篇文章主要介绍了批处理万年历实现代码(包括农历日期),月历查询工具 最初发表于CN-DOS,输出数字排序有问题大家可以自行修复一下...2020-06-30
- if,正如它E文中的意思,就是“如果”的意思,用来进行条件判断。翻译过来的意思就是:如果符合某一条件,便执行后面的命令。...2020-06-30
- 这篇文章主要介绍了批处理文件bat脚本实现代码自动提交和项目部署,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-30
- php 设置磁盘权限的批处理文件 第一步:输入网站访问帐号(为空则使用默认帐号[IUSR_****]),脚本会自动获取IUSR帐号,如IUSR帐号被改名则无法获取,[]中将显示空。另外如需...2016-11-25
- 本篇文章是对C++中执行多个exe文件方法的批处理代码进行了详细的分析介绍,需要的朋友参考下...2020-04-25