一次输出一行

时间:2014-03-26 11:05:19

标签: powershell output-buffering powershell-ise powershell-v4.0

我希望在运行此命令时一次获得一行输出。

Invoke-RestMethod -Uri http://blogs.msdn.com/powershell/rss.aspx | Format-Table -Property Title, pubDate

所以我想获得一行输出,然后按EnterAny key以获取下一行输出或按Ctrl+C以中断命令。

我无法通过$Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

实现目标

1 个答案:

答案 0 :(得分:1)

我会做这样的事情:

 $A = Invoke-RestMethod -Uri http://blogs.msdn.com/powershell/rss.aspx | select -Property Title, pubDate
FOR ( $I = 0; $I -le $A.Length; $I++ )
{
    $A[$i] 
    .\pause ""
}

或一个班轮(看评论)

Invoke-RestMethod -Uri http://blogs.msdn.com/powershell/rss.aspx |
       select -Property Title, pubDate | 
           % { $_ ; .\pause }

我的pause.ps1 *文件脚本:

param([string]$Message="Press any key to continue...")
Write-Host -NoNewLine $Message
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Write-Host ""

*这在ISE中不起作用。