使用任意键退出 Do-Until 循环

Exit Do-Until Loop with any key

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

$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'))

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

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

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

一旦你按下任意键,循环条件一被评估就会结束循环。