我在PowerShell中运行msbuild,在函数内部:
function Run-MSBuild()
{
msbuild.exe (lots of params)
}
Run-MSBuild
效果很好,我在控制台上看到了彩色的MSBuild输出。现在,我想知道它花了多长时间:
$time = Measure-Command { Run-MSBuild }
可以使用,但我不再看到MSBuild输出了。
尝试1:管道到Write-Host
:
function Run-MSBuild()
{
msbuild.exe (lots of params) | Write-Host
}
结果1:我在控制台上看到MSBuild输出,但颜色丢失了。
尝试2:替换Measure-Command
:
$timer = [diagnostics.stopwatch]::startnew()
Run-MSBuild
$time = $timer.Elapsed
结果2:有效,但有点难看。
有任何方法可以达到这个目的吗?
答案 0 :(得分:1)
在函数中包含timing命令?
function Run-MSBuild
{
$start = Get-Date
msbuild.exe $args
$End = Get-Date
$End-$Start
}