我已經搜索,但顯然我的谷歌foo很弱。我需要的是一種在控制檯中提示用戶輸入並在一段時間後請求超時的方式,如果沒有輸入,請繼續執行腳本。盡我所知,Read-Host不提供此功能功能。 $ host.UI.PromptForChoice()也不是$ host.UI.RawUI.ReadKey()。提前感謝任何指針。等待超時的用戶輸入
編輯:非常感謝Lars Truijens尋找答案。我已經拿出他指出的代碼並將其封裝到一個函數中。請注意,我實現它的方式意味着在用戶點擊某個鍵和繼續執行腳本之間可能會有一秒的延遲。
function Pause-Host
{
param(
$Delay = 1
)
$counter = 0;
While(!$host.UI.RawUI.KeyAvailable -and ($counter++ -lt $Delay))
{
[Threading.Thread]::Sleep(1000)
}
}
非常感謝你。我在你強大的谷歌之前鞠躬。 – EBGreen 2008-09-29 19:50:35
在PowerShell 2中,還有`Start-Sleep` cmdlet。 – Joey 2011-04-06 16:27:15