Windows Batch - escolha padrão com tempo limite

3

Em uma janela cmd, quero solicitar ao usuário um conjunto de opções (indicado por letras), sendo uma delas o padrão. O usuário pode digitar uma letra ou pressionar Enter . Nesse caso, a opção padrão será selecionada.

Eu também quero especificar um tempo limite, então a escolha padrão é auto-selecionada após um determinado número de segundos de inatividade.

O comando choice integrado chega perto:

> choice /C YN /T 5 /D Y /M "The message"

Isso leva apenas opções válidas ( /C YN ) e o padrão automático é 'Y' ( /D Y ) após 5 segundos ( /T 5 )
... mas, estranhamente, não permite atingir Enter na escolha padrão.

A outra opção mais detalhada que encontrei permite acessar 'Enter' para a escolha padrão:

:ch
set sel=Y

REM Hitting Enter does not modify 'sel'
set /p sel=The message, [Y/N]?

if %sel% == Y goto Yes
if %sel% == N goto No

echo Invalid choice '%sel%', try again.
goto ch

... mas eu não sei como fazer esse auto-selecionar o padrão depois de um tempo.

    
por Cristi Diaconescu 17.03.2014 / 10:43

1 resposta

1

Eu não acho que exista uma opção, a menos que você encontre algum aplicativo da 3ª CLI que possa fazer isso.

Como sobre a VBS? será muito mais fácil fazer isso ...

    
por 20.03.2014 / 15:55