バッチで set /p に時間制限を設定するにはどうすればいいですか?

バッチで set /p に時間制限を設定するにはどうすればいいですか?

バッチで「set /p」に時間制限を設定する方法を 30 分ほど調べていますが、まだ方法がわかりません。

set /p example=

このコードは、アクティブ化されてから 3 秒経過し、ユーザーが何も入力しなかった場合に終了するようにします。

答え1

SET コマンドはこのような用途には適していないため、ユーザーの Jeff Zeitlin がコメントで時間制限を行う別のコマンドを提案しています。

それでも SET コマンドを使用する場合は、次の 2 つのバッチ ファイルが必要です。

  1. 特定の一時ファイルを削除し、バッチ 2 を開始してしばらく待ってから、バッチ 2 を終了します。一時ファイルが存在する場合は、その値を使用できます。
  2. 入力を待機し、それをこの一時ファイルに保存します。入力を取得する前に強制終了された場合、ファイルは存在しません。

このようなバッチファイルの例については、 この答え、それ自体に 2 番目のスレッドを開始する 1 つのバッチ ファイルだけでこれを管理します。

関連情報