Bash调用cmd/c%ProgramFiles(x86)%\

Bash调用cmd/c%ProgramFiles(x86)%\,bash,msysgit,cmd,Bash,Msysgit,Cmd,通过bash脚本(来自msysgit的bash),我希望运行MS VB 2010 Express编译,但以下几行都不起作用: $ $PROGRAMFILES/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe path/to/solution.sln /build 结果是sh.exe”:C:\Program:没有这样的文件或目录 $ "$PROGRAMFILES/Microsoft\ Visual\ Studio\ 10.0

通过bash脚本(来自msysgit的bash),我希望运行MS VB 2010 Express编译,但以下几行都不起作用:

$ $PROGRAMFILES/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe path/to/solution.sln /build
结果是
sh.exe”:C:\Program:没有这样的文件或目录

$ "$PROGRAMFILES/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe" path/to/solution.sln /build
$ cmd /c "$PROGRAMFILES(X86)/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe" path/to/solution.sln /build
结果是
sh.exe:C:\ProgramFiles(x86)/Microsoft\Visual\Studio\10.0\Common7\ide\vbexpress.exe:没有这样的文件或目录

$ "$PROGRAMFILES/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe" path/to/solution.sln /build
$ cmd /c "$PROGRAMFILES(X86)/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe" path/to/solution.sln /build
这将仅打开cmd shell,因为cmd似乎无法识别参数
/c

$ cmd "/c $PROGRAMFILES(X86)/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe" path/to/solution.sln /build
错误消息:找不到命令
C:\Program

$ /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 10.0/Common7/IDE/vbexpress.exe IOS\\IOS.sln /build
有点工作,但尽管它启动了VB Express,但它抱怨无法加载
C:\Program Files(x86)/Git/build
——很明显,shell将
/build
扩展到一个路径。这个解决方案是有缺陷的,因为我想使用一个环境变量来区分Windows的32位和64位安装


什么是逃离路径分隔符和空间的正确方法才能让它工作?

虽然我没有这个特定的软件,但我相信类似的东西可以工作:

"$PROGRAMFILES/Microsoft Visual Studio/10.0/Common7/IDE/vbexpress.exe" 'IOS\IOS.sln' '//build' “$PROGRAMFILES/Microsoft Visual Studio/10.0/Common7/IDE/vbexpress.exe”'IOS\IOS.sln'//build' 我尝试调用其他一些软件,如:

"$PROGRAMFILES/Internet Explorer/iexplore" 'T:\public_html\index.html' “$PROGRAMFILES/Internet Explorer/iexplore”'T:\public\u html\index.html'
如果这是唯一的问题,那么在/build上加倍斜杠应该是可行的。啊!太好了!这就成功了,谢谢你指出这一点!我修改了答案以反映加倍斜杠。