【问题标题】:Batch/CMD File Accept User Input for Timeout批处理/CMD 文件接受用户输入超时
【发布时间】:2015-02-06 18:34:31
【问题描述】:

我正在寻找一种在批处理文件中接受用户输入timeout 的方法。 基本上,当批处理程序启动时,用户可以选择以分钟为单位输入超时,该超时将以秒为单位计算并作为变量传递,直到下一步继续。

很遗憾,我在网上找不到任何东西;(

@echo off
REM set timeout by using the input of the user
shutdown -f -s -t (here comes in user input * 60)

用 CMD 可以实现这样的事情吗?

【问题讨论】:

  • 您搜索了哪些确切的字符串?因为set /p 会做你想做的事。
  • 我确实找到了set /p,但我无法理解。
  • set /p 的用法是set /p variable=prompt,其中prompt 是脚本在请求输入时向用户显示的内容,variable 是存储输入的变量。跨度>

标签: windows batch-file cmd windows-7-x64


【解决方案1】:

实际上有一个原生的TIMEOUT 方法:

set /p mtime="Enter time in minutes: "
set /a stime=%mtime%*60
timeout /t %stime%

附加/nobreak 以忽略用户击键。否则,如果用户确实按下了某个键,则会立即恢复执行。

【讨论】:

  • 感谢@meatspace!您的方法也有效,但我熟悉@theglossy1 的建议如果可以的话,我会将建议标记为正确答案!
【解决方案2】:
set /p TIMEOUT="In how many minutes should the server shut down? "
set /a TIMEOUT = %TIMEOUT% * 60

这会将 TIMEOUT 变量设置为用户输入的任何内容。根据您最初的帖子,您可以使用 shutdown -f -s -t %TIMEOUT%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    相关资源
    最近更新 更多