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

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


当前回答

您可以使用超时:

这将是可见的:超时5

这将不可见超时5>nul

其他回答

您可以使用VBScript,例如文件myscript.vbs:

set wsobject = wscript.createobject("wscript.shell")

do while 1=1
    wsobject.run "SnippingTool.exe",0,TRUE
    wscript.sleep 3000
loop

批处理文件:

cscript myscript.vbs %1

有!

SLEEP <seconds>

如果您希望它处于毫秒模式:

SLEEP -m <time in milliseconds>

这比超时更有用,因为可以通过单击键或CTRL+C(对于超时/t<secs>/nobreak)中止超时。SLEEP不能被任何东西中止(关闭按钮除外:p)

另一个是PING。但PING需要互联网连接,因为您将记录站点的连接。

这应该可以做到:选择/T 5/N/D Y

将5替换为您要等待的时间(秒)。。。

我很惊讶没有人提到:

C:\> timeout 5

注意:但是,请注意(谢谢Dan!)超时5意味着:

睡眠时间在4到5秒之间

这可以通过将以下内容放入批处理文件,重复运行并计算第一次和第二次回声之间的时间差来进行经验验证:

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

SLEEP 5包含在一些Windows资源工具包中。

TIMEOUT 5包含在一些Windows资源工具包中,但现在是Windows 7和8中的标准命令(不确定Vista)。

PING 1.1.1.1-n 1-w 5000>NUL对于任何带有TCP/IP客户端的MS-DOS或Windows版本,PING可用于延迟执行数秒。

NETSH badcommand(仅限Windows XP/Server 2003)或CHOICE

此链接将帮助您更多。