【发布时间】:2017-08-18 08:31:19
【问题描述】:
我正在尝试在 CMD 中运行以下 PowerShell 命令:
powershell -Command "Start-Process MSBuild.exe MyProject.sln -Verb RunAs"
我在 PowerShell 中运行它,以便获得 UAC(用于提升权限)。我不确定 CMD 中是否有等价物。
现在,我从一个批处理文件中运行 PowerShell 脚本,以便我可以双击并执行。 (或将其放在$Path 位置并从任何地方调用)
但问题是,一旦它运行完毕,它就会立即关闭,并且我看不到构建错误消息(如果有的话)。
MSBuild.exe 在新窗口中执行完毕后如何wait 或pause?
【问题讨论】:
-
从 powershell_ise 运行它,您不需要将其作为进程调用。您可以使用 & 直接调用。 :)
-
Start-Process 有一个开关
-NoNewWindow应该在当前窗口中运行命令,你可以试试吗? -
PS:您可以解析输出以在脚本中采取任何进一步的措施:
$Buildresult= & $msbuild $solutionFile $NoErrorFound=$buildresult -match "0 Error\(s\)" -
Start-Process也有-Wait参数? -
Pause是一个内置的 PS 功能。它保持 PS 窗口,直到您按 Enter 键。我不确定您是否可以保存.exe输出,因为这取决于您。如果您的.exe有控制台输出,您可以使用Start-Process将其重定向到变量
标签: powershell batch-file cmd msbuild