3

从 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 位安装。

转义路径分隔符和空间以使其正常工作的正确方法是什么?

4

1 回答 1

2

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

"$PROGRAMFILES/Microsoft Visual Studio/10.0/Common7/IDE/vbexpress.exe" 'IOS\IOS.sln' '//build'

我尝试使用它来调用其他一些软件,例如:

"$PROGRAMFILES/Internet Explorer/iexplore" 'T:\public_html\index.html'
于 2012-10-25T15:26:03.423 回答