Windows的Snipping工具可以捕捉屏幕,但有时我想在五秒钟后捕捉屏幕,例如拍摄网络摄像头显示的图像。(例如,运行脚本并对着镜头微笑。)

如何在批处理文件中休眠5秒?


当前回答

在较新的Windows OS版本上,可以使用以下命令

sleep /w2000

在DOS脚本(.cmd或.bat)中等待2s(2000毫秒-替换所需的毫秒)。请注意包含/w参数-如果没有它,整个计算机都将进入睡眠状态!如果需要,可以使用-m代替/m,也可以在w和数字之间使用冒号(:)。

其他回答

这是我在实践中使用的最新版本,在脚本完成时暂停10秒以查看输出。

BEST>@echo done
BEST>@set DelayInSeconds=10
BEST>@rem Use ping to wait
BEST>@ping 192.0.2.0 -n 1 -w %DelayInSeconds%000 > nul

echo完成后,我可以看到脚本何时完成,ping提供了延迟。额外的@符号意味着我看到了“已完成”的文本,等待发生时我不会被他们的命令分心。

我已经在XP机器上尝试了这里给出的各种解决方案,因为我的想法是创建一个可以在各种机器上运行的批处理文件,所以我选择XP机器作为最不可能运行的环境。

GOOD> ping 192.0.2.0 -n 1 -w 3000 > nul

这似乎像预期的那样延迟了三秒钟。一次ping尝试持续指定的3秒。

BAD> ping -n 5 192.0.2.0 > nul

这大约需要10秒(而不是5秒)。我的解释是有5次ping尝试,每次间隔约一秒,持续4秒。每一次ping尝试大概持续一秒,估计总共9秒。

BAD> timeout 5
BAD> sleep /w2000
BAD> waitfor /T 180
BAD> choice

命令不可用。

BAD> ping 192.0.2.0 -n 1 -w 10000 > nul :: wait 10000 milliseconds, ie 10 secs

我也尝试了上面的方法,在阅读了可以通过使用两个连续的冒号将注释添加到BAT文件之后。然而,软件几乎立即返回。在ping之前将评论放在自己的行上,效果很好。

GOOD> :: wait 10000 milliseconds, ie 10 secs
GOOD> ping 192.0.2.0 -n 1 -w 10000 > nul

为了更好地理解ping在实践中的作用,我跑了

ping 192.0.2.0 -n 5 -w 5000

这需要大约30秒,尽管5*5=25。我的解释是,有5次ping尝试,每次持续5秒,但两次ping尝试之间大约有1秒的时间延迟:如果您立即再次ping,那么根本没有理由期待不同的结果,最好给网络一点时间来从任何问题中恢复。

编辑:从其他帖子中窃取。。RFC 3330说IP地址192.0.2.0不应该出现在互联网上,所以ping这个地址可以防止这些测试向任何人发送垃圾邮件!我已经相应地修改了上面的文本!

在较新的Windows OS版本上,可以使用以下命令

sleep /w2000

在DOS脚本(.cmd或.bat)中等待2s(2000毫秒-替换所需的毫秒)。请注意包含/w参数-如果没有它,整个计算机都将进入睡眠状态!如果需要,可以使用-m代替/m,也可以在w和数字之间使用冒号(:)。

我们不能等一下t/t 180吗?

waitfor/T 180暂停将导致“错误:等待‘暂停’超时”

waitfor/T 180暂停>nul将清除地毯下的“错误”

在Win95之后,等待命令应该在Windows操作系统中

在过去,我下载了一个名为sleep的可执行文件,在您将其放入路径后,它将在命令行上运行。

例如:sleep shutdown-r-f/m\\yourmachine尽管shutdown现在内置了-t选项

尝试Choice命令。自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."

一种黑客是(错误地)使用ping命令:

ping 127.0.0.1 -n 6 > nul

说明:

ping是一个发送ping请求的系统实用程序。ping在所有版本的Windows上都可用。127.0.0.1是本地主机的IP地址。此IP地址保证始终解析、可访问并立即响应ping。-n 6指定将有6个ping。每个ping之间有一个1s的延迟,因此对于5s的延迟,您需要发送6个ping。>nul通过将ping重定向到nul来抑制ping的输出。