Running a batch file in git shell

后端 未结 2 2074
猫巷女王i
猫巷女王i 2020-12-19 08:43

Under Windows 7 I have a batch file for checking the status of some repos and outputting the returns to a file (with standard powershell issued git commands).

This w

2条回答
  •  借酒劲吻你
    2020-12-19 09:36

    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
    

    Make sure 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.

提交回复
热议问题