我想创建一个简单的循环,直到用户按任意键。目的是仅在按下任何键时循环才会停止。否则,循环循环,没有任何交互。我认为我的代码可以告诉您我想要什么。但是我不确定用这种类型的循环是否可以解决?
$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'))
答案 0 :(得分:0)
您可以使用[System.Console]::KeyAvailable
。输入流中一旦有按键可用,它将返回一个值。
$sec = 0
do
{
Write-Host -ForegroundColor Green "$sec Sec"
Start-Sleep -Seconds 1
$sec++
} until ([System.Console]::KeyAvailable)
一旦按下任意键,则在评估循环条件后将立即结束循环。