バッチで「set /p」に時間制限を設定する方法を 30 分ほど調べていますが、まだ方法がわかりません。
set /p example=
このコードは、アクティブ化されてから 3 秒経過し、ユーザーが何も入力しなかった場合に終了するようにします。
答え1
SET コマンドはこのような用途には適していないため、ユーザーの Jeff Zeitlin がコメントで時間制限を行う別のコマンドを提案しています。
それでも SET コマンドを使用する場合は、次の 2 つのバッチ ファイルが必要です。
- 特定の一時ファイルを削除し、バッチ 2 を開始してしばらく待ってから、バッチ 2 を終了します。一時ファイルが存在する場合は、その値を使用できます。
- 入力を待機し、それをこの一時ファイルに保存します。入力を取得する前に強制終了された場合、ファイルは存在しません。
このようなバッチファイルの例については、 この答え、それ自体に 2 番目のスレッドを開始する 1 つのバッチ ファイルだけでこれを管理します。