2012-06-27 25 views
6

Windows 7では、いくつかのreposの状態をチェックし、ファイルにリターンを出力するためのバッチファイルがあります(標準のpowershellでgitコマンドを発行しました)。gitシェルでバッチファイルを実行

これはgitシェルから起動したときにうまく動作しますが、私の質問はまずgitシェルを起動せずにこれを行うにはどうすればいいですか?

標準プロンプトまたは実行可能なバッチファイルにgitシェルで特定のバッチファイルを起動するコマンド/コマンドを入力できます。そうしないと

は、ここにあなたが見るものです:あなたがgit-cmd.batが何をするかを検討している場合

+0

質問:Windows用のgitのバージョンはありますか?私はmsys Gitをwin(7)にインストールするのに苦労していましたが、いくつかのコマンドが完了するまでに時間がかかりました。 – bcelary

+0

私は1.7.11.rc1.6953.gf229a20を持っています - 新しいGitHubウィンドウアプリケーションと一緒にインストールされました – Ing

+0

Powershellから簡単なgitコマンドを実行できますか?言い換えれば、gitシェルはgitで何かをする必要がありますか? Powershellからgitにアクセスできる場合は、バッチファイルをpowershellスクリプトとして書き直すことができます。あるいは、env varsを設定していない限り、Powershellからバッチファイルを実行できるはずです(もしそうなら、Googleで "Invoke-CmdScript"を検索してください)。 – David

答えて

4

は、あなたがする必要があるすべてはあなたのスクリプトであなたのgitコマンドの前に右の変数%PATH%を設定することです:

C:\Users\VonC>git --version 
'git' is not recognized as an internal or external command, 
operable program or batch file. 

私はlatest portable version of msysgitを解凍しました。 GitがそこにあなたのグローバルGitの設定を探しますので、

@setlocal 

@set git_install_root="C:\Users\VonC\prg\PortableGit-1.7.11-preview20120620" 
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%PATH% 

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH% 
@if not exist "%HOME%" @set HOME=%USERPROFILE% 

@set PLINK_PROTOCOL=ssh 

REM here is the specific git commands of your script 

git --version 
echo %HOME% 
git config --global --list 

は、HOMEが正しく設定されていることを確認します

はどこに次の内容の test.batスクリプト(そう何PowerShellはそこに関与していない)を入れてください。

結果はあなたを与える:

C:\Users\VonC>cd prog\git 

C:\Users\VonC\prog\git>s.bat 

C:\Users\VonC\prog\git>git --version 
git version 1.7.11.msysgit.0 

C:\Users\VonC\prog\git>echo C:\Users\VonC 
C:\Users\VonC 

C:\Users\VonC\prog\git>git config --global --list 
user.name=VonC 

注:同じスクリプトはPowerShellセッションから完全に動作することを。

+0

ありがとう@VonC、これは有望に見える、水曜日にこれをテストします。 – Ing

+1

私のために働いた、この答えを正確にマークしてください! – pilavdzice

+0

優れています。これは必要に応じて機能します。 – Ing

2

git実行ファイルがコマンドラインでアクセスできないようです。

Path変数にc:\Users\[your_login]\AppData\Local\GitHub\PortableGit_[hash]\bin(またはc:\Users\[your_login]\AppData\Local\GitHub\PortableGit_[hash]\cmd)を追加するだけです。 [your_login][hash]を実際のデータに置き換えてください。

しかし、私はファイルの場所がバージョンごとに変わると思いますので、あなたが重いgitユーザーの場合は、msysGitをインストールすることを検討してください。実行可能ファイルをシステムパスに自動的に追加します(対応するオプションはセットアップ時に利用可能です)。

さらに、mysysGit-UTF8というプロジェクトがあり、Windowsで完全なUTF-8サポートがあると主張しています。私は違いを気付かなかった。

+0

syspathに追加するオプションを選択しないと、追加されません。 – Learath2

+0

はい、100%正しいです。答えでこの点を修正しましょう。 – shytikov

+0

入力してください、ありがとうございます。 – Ing

関連する問題