1

我在一个函数内从 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:有效,但有点难看。

有什么办法可以做到这一点?

4

1 回答 1

1

在函数中包含计时命令?

function Run-MSBuild
{
    $start = Get-Date
    msbuild.exe $args
    $End = Get-Date

    $End-$Start
}
于 2013-06-13T12:22:57.827 回答