Running a batch file in git shell
This works fine when launched from git shell, my question is how can I do this without launching git shell first?
So I want to be able to enter in a standard prompt or in a runnable batch file a command / commands which will launch a given batch file in git shell.
2 Solutions collect form web for “Running a batch file in git shell”
If you consider what
git-cmd.bat does, all you need to do is to set the right variable
%PATH% before your git commands in your script:
If you don’t, here is what you would see:
C:\Users\VonC>git --version 'git' is not recognized as an internal or external command, operable program or batch file.
I have uncompressed the latest portable version of msysgit.
Put anywhere a
test.bat script (so no powershell involved there) with the following content:
@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 is correctly set, because Git will look for your global git config there.
The result will give you:
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
Note: that same script would work perfectly from a powershell session.
It looks like your git executable is just not accessible for command line use.
c:\Users\[your_login]\AppData\Local\GitHub\PortableGit_[hash]\cmd) to your Path variable. Replacing
[hash] with actual data.
But I believe the location of files will change from version to version, so if you’re heavy git user, consider installing msysGit. It will add its executable to the system path automatically (corresponding option available during setup).
Even more, there is the project called mysysGit-UTF8 claiming that they have full UTF-8 support on Windows. I didn’t notice the difference, through.