Windows的Snipping工具可以捕捉屏幕,但有时我想在五秒钟后捕捉屏幕,例如拍摄网络摄像头显示的图像。(例如,运行脚本并对着镜头微笑。)
如何在批处理文件中休眠5秒?
Windows的Snipping工具可以捕捉屏幕,但有时我想在五秒钟后捕捉屏幕,例如拍摄网络摄像头显示的图像。(例如,运行脚本并对着镜头微笑。)
如何在批处理文件中休眠5秒?
当前回答
ping在超时前等待大约5秒,而不是如上所述的1秒。也就是说,除非你告诉它在超时前只等待1秒。
ping 1.0.0.1-n 1-w 1000
将ping一次,只等待1秒(1000毫秒)的响应,然后超时。
因此,大约20秒的延迟将是:
ping 1.0.0.1-n 20-w 1000
其他回答
一种黑客是(错误地)使用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的输出。
您可以使用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
这是我做的。它正在工作,以秒为单位显示剩余时间。如果要使用它,请添加到批处理文件:
call wait 10
当我测试它时,它正在工作。
wait.bat的列表(它必须位于工作目录或windir/system32/中):
@echo off
set SW=00
set SW2=00
set /a Sec=%1-1
set il=00
@echo Wait %1 second
for /f "tokens=1,2,3,4 delims=:," %%A in ("%TIME%") do set /a HH=%%A, MM=1%%B-100, SS=1%%C-100, CC=1%%D-100, TBASE=((HH*60+MM)*60+SS)*100+CC, SW=CC
set /a TFIN=%TBASE%+%100
:ESPERAR
for /f "tokens=1,2,3,4 delims=:," %%A in ("%TIME%") do set /a HH=%%A, MM=1%%B-100, SS=1%%C-100,
CC=1%%D-100, TACTUAL=((HH*60+MM)*60+SS)*100+CC, SW2=CC
if %SW2% neq %SW% goto notype
if %il%==0 (echo Left %Sec% second & set /a Sec=sec-1 & set /a il=il+1)
goto no0
:notype
set /a il=0
:no0
if %TACTUAL% lss %TBASE% set /a TACTUAL=%TBASE%+%TACTUAL%
if %TACTUAL% lss %TFIN% goto ESPERAR
您可以使用超时:
这将是可见的:超时5
这将不可见超时5>nul
我们不能等一下t/t 180吗?
waitfor/T 180暂停将导致“错误:等待‘暂停’超时”
waitfor/T 180暂停>nul将清除地毯下的“错误”
在Win95之后,等待命令应该在Windows操作系统中
在过去,我下载了一个名为sleep的可执行文件,在您将其放入路径后,它将在命令行上运行。
例如:sleep shutdown-r-f/m\\yourmachine尽管shutdown现在内置了-t选项