当前位置: 首页 > 编程笔记 >

使用批处理脚本在特定目录中启动Git-Bash窗口

龙隐水
2023-03-14
本文向大家介绍使用批处理脚本在特定目录中启动Git-Bash窗口,包括了使用批处理脚本在特定目录中启动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的上下文菜单项作为我从命令注册表设置运行的命令后,我最终使用了这个。 如果你对此感到好奇,我这样做了:

  1. 在HKEY_CLASSES_ROOT\Directory\Background\shell的shell键中创建一个名为Bash的新键
  2. 将字符串值添加到Icon (不是新密钥!),它是git-bash.exe的完整路径,包括git-bash.exe部分。 您可能需要将其包装在引号中。
  3. 在上下文菜单中将Bash的默认值编辑为要使用的文本
  4. 在Bash添加一个名为command的子键
  5. 将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窗口的资料请关注小牛知识库其它相关文章!

 类似资料:
  • 几个月前,我用Spring Batch制作了一个项目。 该项目工作正常,包括JobExecution决策器的实现 这使fini仅与Spring Batch配合使用。 现在我必须将其用于Spring Boot批处理。在决策步骤之前,所有流程都运行良好。其中,我返回了良好的FlowExecutionStatus,但我不知道为什么,作业以“失败”状态完成。 有人知道为什么不工作了? 谢谢

  • 4. bash启动脚本 启动脚本是bash启动时自动执行的脚本。用户可以把一些环境变量的设置和alias、umask设置放在启动脚本中,这样每次启动Shell时这些设置都自动生效。思考一下,bash在执行启动脚本时是以fork子Shell方式执行的还是以source方式执行的? 启动bash的方法不同,执行启动脚本的步骤也不相同,具体可分为以下几种情况。 4.1. 作为交互登录Shell启动,或者

  • 不幸的是,我在其他线程中找不到适合我的解决方案。 我试图通过批处理文件使用任务调度程序运行vb脚本,当我手动启动vbs和bat文件时,它们都可以正常工作,但在任务调度程序中不能。我尝试了多种组合(我也尝试直接启动vbs),但似乎没有任何效果。.bat和.vbs都直接在C中:\ VBS文件: 批处理文件: 计划的Tesk导出:

  • 我看到窗口上Docker的快捷方式是: 我在< code>Cmder/ConEmu中使用< code>git-bash。 当我在控制台中启动时,我想执行这个脚本,所以我将所有终端都放在一个程序中的选项卡中,而不是放在这里的git bash和那里的docker中。 我很难找到正确的方法来得到这个。要运行的sh文件。我发现报价不同于从windows快捷方式运行新的终端窗口。 我试过了: 退货: 未安装

  • 标题说明了一切:我想用命令启动cmd窗口,但我想隐藏窗口 这就是我想要的,但是cmd窗口仍然是打开的,关闭后我也结束了这个命令。我想在后台运行cmd.exe。可能吗?

  • 问题内容: 我正在尝试使用命令记录bash会话。 该命令是从bash脚本开始执行的,但是一旦执行,bash脚本就会终止。 我尝试使用各种组合来始终以相同的结果调用命令(调用该命令后立即终止bash脚本)。我得到的输出如下: 我也尝试过最后用a来调用命令,但是再次失败了。 谁能告诉我如何从bash脚本调用命令? 谢谢 问题答案: 您的Shell脚本没有终止。它仍在运行。您会收到提示,因为正在生成新的