He buscado pero aparentemente mi google foo es débil. Lo que necesito es una forma de solicitar la entrada del usuario en la consola y dejar que la solicitud se agote después de un período de tiempo y continúe ejecutando el script si no entra ninguna entrada. Por lo que puedo decir, Read-Host no proporciona esto. funcionalidad. Ni $ host.UI.PromptForChoice() ni $ host.UI.RawUI.ReadKey(). De antemano, gracias por cualquier consejo.Esperando la entrada del usuario con un tiempo de espera
EDITAR: Muchas gracias a Lars Truijens por encontrar la respuesta. Tomé el código que él señaló y lo encapsulé en una función. Tenga en cuenta que la forma en que lo he implementado significa que podría haber hasta un segundo de retraso entre el momento en que el usuario toca una tecla y la ejecución del script.
function Pause-Host
{
param(
$Delay = 1
)
$counter = 0;
While(!$host.UI.RawUI.KeyAvailable -and ($counter++ -lt $Delay))
{
[Threading.Thread]::Sleep(1000)
}
}
Muchas gracias. Me inclino ante tu poderoso google fu. – EBGreen
En PowerShell 2 también está el cmdlet 'Start-Sleep'. – Joey