我一直在尝试找出如何在批处理中对“set /p”设置时间限制,例如 30 分钟,但仍然无法找到方法。
set /p example=
我希望此代码在激活后 3 秒内如果用户未输入任何内容则退出。
答案1
SET 命令不太适合这种用途,用户 Jeff Zeitlin 在评论中建议使用另一个具有时间限制的命令。
如果您仍然想使用 SET 命令,则需要两个批处理文件,如下所示:
- 删除特定的临时文件,启动第二批,等待一段时间,然后终止第二批。如果临时文件现在存在,则可以使用其值。
- 等待输入并将其存储在此临时文件中。如果在获取该输入之前将其终止,则该文件将不存在。
有关此类批处理文件的示例,请参阅 这个答案,甚至只使用一个启动第二个线程的批处理文件就可以完成此操作。