如何在批次中設定 set /p 的時間限制?

如何在批次中設定 set /p 的時間限制?

我一直在嘗試找出如何在 Batch 中設定「set /p」的時間限制大約 30 分鐘,但仍然不知道如何..

set /p example=

我希望這段程式碼在啟動後經過 3 秒且用戶未輸入任何內容時退出。

答案1

SET 指令不太適合這種用途,使用者 Jeff Zeitlin 在評論中建議了另一個具有時間限制的指令。

如果您仍然想使用 SET 命令,則需要兩個批次文件,如下所示:

  1. 刪除特定臨時文件,啟動第二批,等待一段時間,然後終止第二批。如果臨時檔案現在存在,則可以使用其值。
  2. 等待輸入並將其儲存在這個暫存檔案中。如果它在獲取輸入之前被殺死,那麼該檔案將不存在。

有關此類批次文件的範例,請參見 這個答案,甚至只用一個批次檔來管理它,該批次檔本身啟動第二個執行緒。

相關內容