从 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: No such file or directory
$ "$PROGRAMFILES/Microsoft\ Visual\ Studio\ 10.0\\Common7\\ide\\vbexpress.exe" path/to/solution.sln /build
结果是sh.exe": C:\Program Files (x86)/Microsoft\ Visual\ Studio\ 10.0\Common7\ide\vbexpress.exe: No such file or directory
$ 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 位安装。
转义路径分隔符和空间以使其正常工作的正确方法是什么?