1. ホーム
  2. スクリプト・コラム
  3. DOS/BAT(ドス・バット

バッチスクリプトによる特定ディレクトリでのGit-Bashウィンドウの立ち上げ

2022-01-01 17:12:40

課題の説明

通常であれば 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="Enter the path to the project you want to open in git-bash: "start F:\Program" "Files\Git\git-bash.exe --cd=%input%

Win+Rで呼び出す

そして、これを StartGit.bat ディレクトリを path 環境変数からアクセスできるようにします。 win+r 呼び出すまでの手順は

プロジェクトのパスをコピーする。

win+R

Runを開いて入力 StartGit を入力してください(大文字小文字は関係ありません)。

<イグ

そして、プロジェクトのパスを貼り付けて、Enterキーを押せば、すぐに Git-bash.exe をクリックすると、そのプロジェクト・パスに移動します。

結果は次のようになります。

参考文献

Git Bashウィンドウを特定の作業ディレクトリでスクリプトを使って起動するには?

Windows 10

これは基本的に @ lengxuehx さんの回答ですが、Win 10 用にアップデートされており、bash のインストール先が次の場所であると仮定しています。 git 公式ダウンロード  Git Bash for Windows。

cmd /c (start /b "%cd%" "C:\Program FilesGitWgit-bash.exe") &&exit

結局、Git Bashのコンテキストメニューに、コマンドレジストリから実行するコマンドとして設定した項目がなくなってしまったので、これを使うことにしました。気になる方は、こうしてみました。

  1. HKEY_CLASSES_ROOTDirectoryBackgroundshell の shell key に Bash という新しいキーを作成する。
  2. アイコン(新しいキーではありません!)に文字列の値を追加します。この値は、git-bash.exeのセクションを含む、git-bash.exeへのフルパスとなります。引用符で囲む必要があるかもしれません。
  3. コンテキストメニューのBashのデフォルトを使用したいテキストに編集します。
  4. Bashにcommandというサブキーを追加する。
  5. commandのデフォルト値をcmd /cに変更する(start /b "%cd%" "C:\Program FilesGitWâte bash.exe") && exit

これで、レジストリを閉じて、実際のディレクトリから Git Bash を使い始めることができるはずです。例えば、このPCは本当のディレクトリではありません。

スクリプト(bashやWindowsバッチ)を使って、作業ディレクトリを指定して新しいGit Bashウィンドウを起動するにはどうしたらいいですか?

私の目標は、ひとつのスクリプトから複数のGit Bashウィンドウを起動し、それぞれを異なる作業ディレクトリに設定することです。こうすることで、コンピュータを起動した後に、Git Bash ウィンドウを開いてそれぞれのウィンドウを正しい作業ディレクトリに移動させることなく、素早く作業を開始することができるようになるのです。

編集:この質問のように、デフォルトの作業ディレクトリを変更する方法ではなく、スクリプトから異なる作業ディレクトリを持つ1つ以上のターミナルウィンドウを起動する方法を聞いているのです。

Git Bash は cmd.exe をターミナルとして使い、さらに MSYS / MinGW の拡張として sh.exe (cmd.exe のラッパーの一種) が提供するものを使用します。Windowsでは、startコマンドで新しいターミナルを起動します。

つまり、作業ディレクトリを指定して新しいGit Bashターミナルを起動するシェルスクリプトは、次のようになります。

(cd C:/path/to/dir1 && start sh --login) &
(cd D:/path/to/dir2 && start sh --login) &

同等のWindowsバッチスクリプトは

C: cd \dir1 start "" "%SYSTEMDRIVE%Program Files (x86)\GitBinChu.exe" --login
D: cd \pathtodir2 start "" "%SYSTEMDRIVE%Program Files (x86)\Gitbinsh.exe" --login

スタートメニューから起動したGit Bashと同じフォントとウィンドウサイズにするには、スタートメニューのショートカット設定をコマンドコンソールのデフォルトにコピーするのが一番簡単です(デフォルトを変更するには、cmd.exeを開いて左上にあるアイコンを左クリックし、デフォルトを選択します)。

cd = オプションを使用してみてください。GIT BashがC:⇄Program Files⇄Gitにあると仮定すると、このようになります。

<ブロッククオート

"C:\Program FilesGit Filter git-bash.exe" --cd="e:\SomeFolder"

レジストリエントリで使用する場合、%1 を使用して、フォルダパラメータを指定することができます。

"C:\Program FilesGitgit-bash.exe" --cd="%1"

Git Bash には詳しくないのですが、/path/to/my/gitshell にある git シェル (例: git-sh ) で、お気に入りのターミナルプログラムが `myterm' という名前だと仮定すると、以下のスクリプトを書くことができるでしょう。

<ブロッククオート

(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) & ...

実行される引数-eは、あなたのお気に入りのターミナル・プログラムと異なる名前である可能性があることに注意してください。

このコマンドは、「ファイル名を指定して実行」ダイアログボックスから直接実行するか(ショートカットは win + R)、.bat スクリプトとして保存することができます。

<ブロッククオート

cmd /c (start /d "/path/to/dir" bash --login) && exit

追加

アイデアで直接ターミナルをgit-bashに設定することができます。
/{br nice これは良いアイデアです、作業ディレクトリに入って右クリックする必要がありません

以上、バッチスクリプトを使って特定のディレクトリにあるGit-Bashウィンドウを起動する方法について詳しく説明しました。バッチプロセスによるGit-Bashウィンドウの起動については、BinaryDevelopの他の関連記事にも注目してください!