1

我想要一个小批处理脚本,每当我关闭 Visual Studio GUI 时,它会自动运行颠覆更新,然后是 CMAKE,然后使用解决方案重新启动 Visual Studio。不幸的是,我似乎无法编写启动 Visual Studio GUI 并等到它完成。

我已经试过了

call "%VS100COMNTOOLS%\vsvars32.bat"
start /wait devenv solution.sln

这会启动 GUI,但命令行会立即返回而无需等待。

我基本上想要类似的东西

call "%VS100COMNTOOLS%\vsvars32.bat"
:START
svn update
cmake 
start /wait devenv solution.sln
GOTO START

甚至可以等待 GUI 关闭吗?

4

1 回答 1

6

您遇到了 Microsoft 使用的一个小技巧:有两个devenvs

其中一个是devenv.com,另一个是devenv.exedevenv.exe是您要运行的实际 Visual Studio IDE。

devenv.com另一方面,它是一个控制台模式程序,它运行 IDE ( devenv.exe) 并将其错误消息重定向到stderr. (它用作构建脚本的一部分,您想知道尝试构建时发生了什么。)由于它启动另一个程序然后立即返回,因此等待是没有好处的。

由于某些规则一直追溯到 MS-DOS ,如果您不指定文件扩展名,则.com文件优先于文件。.exe

如果你写start /wait devenv.exe solution.sln它会做你想做的事。

于 2013-10-25T07:40:51.870 回答