0

关于代码示例的故事:我正在使用 vb 脚本进行自动化测试构建,我看到以下行在 32 位和 64 位 Windows 7 中的执行方式不同:

CmdLine ("cmd /c C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\Users\tester_kafka\Documents\VisualStudio2012\Projects\CFX_Manager_UITest\CFX_Manager_UITest.sln")

其中 CmdLine 是这样的函数:

Function CmdLine(strCommand) 
Set WshShell = CreateObject("WScript.Shell") 
Set WshShellExec = WshShell.Exec(strCommand) 
Do While WshShellExec.Status = 0
WScript.Sleep 100 
Loop 
End Function

在 32 位 Windows 7 系统中,构建完成,vb 脚本继续完成。在 64 位 Windows 7 系统中,cmd 窗口保持打开状态,直到手动关闭,然后脚本继续完成。当然,目标是自动化 64 位脚本以自动进行。

我尝试将 & 退出添加到该行,并将 /nr:false 切换到 MSBuild.exe 并弄乱引号(坦率地说,不知道还有什么可以尝试的......)。我应该做一些更简单的事情吗?为什么操作系统会产生如此大的差异?

任何信息都会受到欢迎,即使它不是解决方案。谢谢你们。

4

1 回答 1

0

尝试这个:

Function CmdLine(strCommand) 
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run strCommand, , true
End Function
于 2013-03-21T18:43:42.363 回答