在控制台中等待 Visual Studio GUI

mar*_*nus 1 command-line visual-studio-2010

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

我已经试过了

call "%VS100COMNTOOLS%\vsvars32.bat"
start /wait devenv solution.sln
Run Code Online (Sandbox Code Playgroud)

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

我基本上想要像

call "%VS100COMNTOOLS%\vsvars32.bat"
:START
svn update
cmake 
start /wait devenv solution.sln
GOTO START
Run Code Online (Sandbox Code Playgroud)

甚至可以等待 GUI 关闭吗?

lib*_*rik 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它会做你想做的