Comes a bit late but - it is possible with run method of WScript.Shell ...
With CreateObject("WScript.Shell")
.run "cmd.exe /C ""c:\Program Files\Git\bin\sh.exe"" > c:\out.txt --login -i -c d:\yourfolder\bash.sh -R", 0, True
End With
' Read the output and remove the file when done...
Dim strOutput
With CreateObject("Scripting.FileSystemObject")
strOutput = .OpenTextFile("c:\out.txt").ReadAll()
.DeleteFile "c:\out.txt"
WScript.Echo strOutput
End With
So, here you first run sh.exe by cmd.exe and then sh.exe runs the bash.sh command file. We also read the console output into file (out.txt) and later read it into variable to catch the output. Note also that we can hide window frame by using 0 as the second parameter for run-method.
It is also possible to use exec-method and receive output directly into variable but then we cannot hide window ...
Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell")
outVar = objShell.exec("cmd.exe /C ""c:\Program Files\Git\bin\sh.exe"" --login -i -c d:/yourfolder/bash.sh -R").stdout.readall
WScript.Echo outVar
Set objShell = Nothing