web-dev-qa-db-ja.com

Gitコンソールから:バッチファイルを実行してからGitコンソールに戻るにはどうすればよいですか?

私はclear.batと呼ばれる小さなユーティリティスクリプトを持っています。これは私のソースに対していくつかのハウスキーピング作業を行います。

これは.batファイルなので、Windowsエクスプローラーで簡単にダブルクリックできます。

Git bash(msy​​sgit、これが重要な場合)から実行する方が便利な場合があります。

これを行うには、次のように入力します

cmd
clear.bat
exit

cmdは、Git bashを通常のcmdウィンドウに変換し、そこで簡単にバッチを実行できます。 exitと入力すると、cmd環境が終了し、Git bashに戻ります。

これは簡単な方法で達成できますか?

ドキュメント say以来cmd /C clean.batを試しました

Syntax
      CMD [charset] [options]

      CMD [charset] [options] [/c Command] 

      CMD [charset] [options] [/k Command] 

Options   
   /C     Run Command and then terminate

   /K     Run Command and then return to the CMD Prompt.
          This is useful for testing, to examine variables

編集:
投稿が破損していることに気づきました。

私が欲しいのは、上記の3つのコマンド(cmdclean.batexit)を入力することなく、Git bash内からclear.batを実行することです。 Git bash内から.batファイルを実行したいだけです。明らかな方法は、同じ作業を行う別個の.shファイルを作成することですが、これによりコードが二重になります。


編集2:cmd /C clean.batを実行すると、Git bashはプレーンなCMD環境に変わり、プロンプトのみを表示します。ファイルclean.batは実行されません。 cmdと入力するのと同じです。

また、/debugスイッチを追加しても文字通り何もしません。 cmdのみが評価され、それ以降のパラメーターはすべて無視されるようです。

62
eckes

もう少し遊んだ後、私は自分で解決策を見つけました:

cmd "/C clean.bat"

トリックを行います。しかし、何の手がかりも得られませんでした、なぜ...

73
eckes

./clear.batはトリックを行います。

40
half-potato

Git for Windows (msysGitはGit for Windowsに置き換えられました 1[〜#〜] faq [〜#〜] は3つのオプション:

  • winpty ユーティリティを使用して問題のあるプログラムを実行します。これにより、より良いmintty端末を使い続けることができますが、多くのプログラムの回避策が必要な場合は扱いにくくなる可能性があります。

  • Git Bashのショートカットを変更してbashなしで直接minttyを実行し、デフォルトのコンソールホストを使用し、「クイック編集」、適切なサイズとスクロールバック、適切なUnicodeフォントに設定します。コンソールホストの他の癖と一緒に暮らす必要があります。

  • ConEm をインストールして使用します。

6

好き start clean、cmdで新しいウィンドウを開きます。この方法にはいくつかの利点があります。

  • cmd.exeはネイティブコンソールを取得します
  • 新しいコンソールにはネイティブのWindows文字エンコードがあります(例:cp1251 vs utf8)
0
lav