1. 程式人生 > 程式設計 >使用批處理指令碼在特定目錄中啟動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.exegit-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視窗的資料請關注我們其它相關文章!