如何在Windows的命令提示符下睡5秒钟? (或DOS)

这个问题在这里已经有了答案:

  • 如何在批处理脚本中等待? [复制] 6个回答

  • 我看到的一个黑客是(错误)使用ping命令:

    ping 127.0.0.1 -n 6 > nul
    

    127.0.0.1是本地主机IP地址。
    -n 6 - 每次ping之间有1秒的延迟,所以对于5秒的延迟,你需要做6个ping。
    > nul - 抑制输出。


    我很惊讶没有人提到过:

    C:> timeout 5
    

    NB请注意但是(感谢丹!) timeout 5意味着:

    在4到5秒之间的任何地方睡觉

    这可以通过将以下内容放入批处理文件中,反复运行并计算第一个和第二个echo之间的时间差来验证:

    @echo off
    echo %time%
    timeout 5 > NUL
    echo %time%
    

    尝试选择命令。 从MSDOS 6.0开始就已经出现了,并且应该做到这一点。

    使用/ T参数指定以秒为单位的超时值,使用/ D参数指定默认选择并忽略所选的选项。

    这可能是一个问题,如果用户在超时时间过去之前键入其中一个选择字符。 部分解决方法是混淆这种情况 - 使用/ N参数来隐藏有效选项列表,并且只在该组选项中包含1个字符,所以用户将不太可能在超时到期。

    以下是Windows Vista上的帮助文字。 我认为它在XP上是一样的,但请查看XP计算机上的帮助文本进行验证。

    C:>CHOICE /?
    
    CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
    
    Description:
        This tool allows users to select one item from a list
        of choices and returns the index of the selected choice.
    
    Parameter List:
       /C    choices       Specifies the list of choices to be created.
                           Default list is "YN".
    
       /N                  Hides the list of choices in the prompt.
                           The message before the prompt is displayed
                           and the choices are still enabled.
    
       /CS                 Enables case-sensitive choices to be selected.
                           By default, the utility is case-insensitive.
    
       /T    timeout       The number of seconds to pause before a default
                           choice is made. Acceptable values are from 0 to
                           9999. If 0 is specified, there will be no pause
                           and the default choice is selected.
    
       /D    choice        Specifies the default choice after nnnn seconds.
                           Character must be in the set of choices specified
                           by /C option and must also specify nnnn with /T.
    
       /M    text          Specifies the message to be displayed before
                           the prompt. If not specified, the utility
                           displays only a prompt.
    
       /?                  Displays this help message.
    
       NOTE:
       The ERRORLEVEL environment variable is set to the index of the
       key that was selected from the set of choices. The first choice
       listed returns a value of 1, the second a value of 2, and so on.
       If the user presses a key that is not a valid choice, the tool
       sounds a warning beep. If tool detects an error condition,
       it returns an ERRORLEVEL value of 255. If the user presses
       CTRL+BREAK or CTRL+C, the tool returns an ERRORLEVEL value
       of 0. When you use ERRORLEVEL parameters in a batch program, list
       them in decreasing order.
    
    Examples:
       CHOICE /?
       CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
       CHOICE /T 10 /C ync /CS /D y
       CHOICE /C ab /M "Select a for option 1 and b for option 2."
       CHOICE /C ab /N /M "Select a for option 1 and b for option 2."
    
    链接地址: http://www.djcxy.com/p/30343.html

    上一篇: How to sleep for 5 seconds in Windows's Command Prompt? (or DOS)

    下一篇: Batch file command PAUSE does not work