显示PowerShell脚本的输出仅从PowerShell开始

时间:2016-12-07 19:02:49

标签: powershell output

我最近一直在玩PowerShell,并编写了以下脚本:

$scriptBlock = 
{
  Start-Sleep -Seconds 1
  Write-Host 'Hello world!'
  Start-Sleep -Seconds 1
  Write-Host ([DateTime]::Now).TimeOfDay.TotalMilliseconds
  Start-Sleep -Seconds 1
  exit -1
}

$encodedCommand = [System.Convert]::ToBase64String(
  [System.Text.Encoding]::Unicode.GetBytes($scriptBlock))

& $ps -NonInteractive -NoProfile -ExecutionPolicy Unrestricted `
  -EncodedCommand $encodedCommand

输出

Hello world!
70803964,7878
Hello world!
70803964,7878

第一个Hello world在1秒后被写入控制台,然后有一个延迟(好吧,它做我想要的)并显示毫秒数。输出的后半部分立即写入控制台 - 就像捕获脚本输出并将其写入控制台一样。

任何人都可以提供帮助 - 我只想要输出的前半部分(没有像2>&1这样的基本重定向工作。

0 个答案:

没有答案