你可以做任何你想要的输出,如果你像这样运行:
$MSBuild = [string](MSBuild.exe -argument1 -argument2 -andSoOn)
说你想有输出到文件中。
$MSBuild = [string](MSBuild.exe -argument1 -argument2 -andSoOn) | Out-File C:\text.txt
或者它像这样写......
$MSBuild = [string](MSBuild.exe -argument1 -argument2 -andSoOn) 2>&1 >> C:\text.txt
注:2 “>>” 是指追加1 “>” 覆盖先前添加的行。
或者如果你只想从一堆输出中得到一个像“真”一样的单词。
$MSBuild = [string](MSBuild.exe -argument1 -argument2 -andSoOn)
if($MSBuid -match "true")
{
Write-Host "Whatever you want to say about what's true"
}
如果你想在控制台中看到它,你可以这样做。
$MSBuild = [string](MSBuild.exe -argument1 -argument2 -andSoOn) | Out-Host
或者......
$MSBuild = [string](MSBuild.exe -argument1 -argument2 -andSoOn)
Write-Host $MSBuild
嗨,这似乎不工作: $ msBuildExecutable + $ buildArgs 2>&1 | Write-BuildLog 甚至似乎没有运行MSBuild? – DashRantic
更多详细信息 - 我正在寻找运行特定版本的MSBuild,这就是为什么我将它放在一个变量中。但看起来我可以按照您提出的方式运行它,这就是为什么我首先使用Start-Process的原因 - 还有另一种方法可以在没有Start-Process的情况下执行此操作吗? – DashRantic
也只是试过:&$ msBuildExecutable $ buildArgs 2>&1 | Write-BuildLog仍然没有任何东西 – DashRantic