$inputYN = Read-Host "(defaults to y in 10 sec) [y/n] ";
如果用户在 10 秒内未提供任何输入,则默认$inputYN
应转到“是”并继续执行下一个任务。
$inputYN = Read-Host "(defaults to y in 10 sec) [y/n] ";
如果用户在 10 秒内未提供任何输入,则默认$inputYN
应转到“是”并继续执行下一个任务。
你的问题让我很感兴趣。我不确定这将如何运作,但我测试了几次并取回了正确的密钥。如果您尝试输入大写字母,则效果不佳。不过,必须有比这更好的方法。您可以随时查看其他论坛,例如PowerShell.com或PowerShell.org,以获得不同的人群。
function Get-Answer {
$counter = 0
while($counter++ -lt 100){
if($Host.UI.RawUI.KeyAvailable){
#You could check to see if it was the "Shift Key or another"
$key = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp")
break
}
else{
Start-Sleep -Milliseconds 100
$key = $false
}
}
return ($key)
}
Write-Host 'Enter y/n'
$answers = Get-Answer
if($answers -eq $false -or ($answers.Character -eq 'y')){
"Yes is default"
}
elseif($answers.Character -eq 'n'){
"NO!!!!"
}
else{
"Invalid Key $($answers.Character): `"YES`" is being used now."
}