使用任意键退出退出循环

时间:2019-06-11 08:58:37

标签: powershell keypress do-loops

我想创建一个简单的循环,直到用户按任意键。目的是仅在按下任何键时循环才会停止。否则,循环循环,没有任何交互。我认为我的代码可以告诉您我想要什么。但是我不确定用这种类型的循环是否可以解决?

$sec = 0
Write-Host 'Press any key to quit...'

do {
    Write-Host -ForegroundColor Green "$sec Sec"
    Start-Sleep -Seconds 1
    $sec ++    
} until ($null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'))

1 个答案:

答案 0 :(得分:0)

您可以使用[System.Console]::KeyAvailable。输入流中一旦有按键可用,它将返回一个值。

$sec = 0 
do 
{
    Write-Host -ForegroundColor Green "$sec Sec"
    Start-Sleep -Seconds 1
    $sec++    

} until ([System.Console]::KeyAvailable)

一旦按下任意键,则在评估循环条件后将立即结束循环。