¿Cómo puedo establecer un límite de tiempo en set /p en lotes?

¿Cómo puedo establecer un límite de tiempo en set /p en lotes?

He estado tratando de descubrir cómo establecer un límite de tiempo en un "set /p" en lote durante unos 30 minutos y todavía no pude descubrir cómo...

set /p example=

Quiero que este código salga si pasan 3 segundos después de que se activó y el usuario no escribió nada.

Respuesta1

El comando SET no está bien adaptado a este tipo de uso, y el usuario Jeff Zeitlin sugirió en un comentario otro comando que sí tiene límite de tiempo.

Si aún desea utilizar el comando SET, esto requiere dos archivos por lotes, como se muestra a continuación:

  1. Elimine un archivo temporal específico, inicie el lote dos, espere un momento y luego finalice el lote dos. Si el archivo temporal ya existe, entonces se puede utilizar su valor.
  2. Espere la entrada y guárdela en este archivo temporal. Si se elimina antes de recibir esa entrada, entonces el archivo no existirá.

Para ver un ejemplo de dichos archivos por lotes, consulte esta respuesta, que incluso gestiona esto con un solo archivo por lotes que inicia un segundo hilo para sí mismo.

información relacionada