Windows的Snipping工具可以捕捉屏幕,但有时我想在五秒钟后捕捉屏幕,例如拍摄网络摄像头显示的图像。(例如,运行脚本并对着镜头微笑。)
如何在批处理文件中休眠5秒?
Windows的Snipping工具可以捕捉屏幕,但有时我想在五秒钟后捕捉屏幕,例如拍摄网络摄像头显示的图像。(例如,运行脚本并对着镜头微笑。)
如何在批处理文件中休眠5秒?
当前回答
创建名为sleep.cmd的cmd文件:
REM Usage: SLEEP Time_in_MiliSECONDS
@ECHO off
ping 1.0.0.0 -n 1 -w %1 > nul
将sleep.cmd复制到c:\windows\system32
用法:
sleep 500
睡眠0.5秒。以毫秒为单位的参数一旦复制到System32,就可以在任何地方使用。
编辑:你还应该注意,如果机器没有连接到网络(比如你在地铁中使用的便携式设备),ping技巧就不再有效了。
其他回答
我编写了一个powerbasic程序wait.exe,在批处理文件中向它传递一个毫秒参数
wait 3000
system('c:/windows/system32/SnippingTool.exe')
EXE的代码:
FUNCTION PBMAIN()
c$ = Command$
s! = Val(c$)*1000
Sleep s!
END FUNCTION
我认为以下命令可以帮助您:
pause 5
pause命令的语法为:pause d\\其中d表示持续时间(秒)
我使用的是Windows 7(32位),但我不知道其他的。
我使用完全基于Windows XP功能的以下方法来延迟批处理文件:
文件DELAY.BAT
@ECHO OFF
REM DELAY seconds
REM GET ENDING SECOND
FOR /F "TOKENS=1-3 DELIMS=:." %%A IN ("%TIME%") DO SET /A H=%%A, M=1%%B%%100, S=1%%C%%100, ENDING=(H*60+M)*60+S+%1
REM WAIT FOR SUCH A SECOND
:WAIT
FOR /F "TOKENS=1-3 DELIMS=:." %%A IN ("%TIME%") DO SET /A H=%%A, M=1%%B%%100, S=1%%C%%100, CURRENT=(H*60+M)*60+S
IF %CURRENT% LSS %ENDING% GOTO WAIT
您也可以在计算中插入日期,这样当延迟间隔超过午夜时,该方法也可以工作。
这可以通过批处理文件中的两行简单代码来完成:在%temp%文件夹中写一个临时.vbs文件,并调用它:
echo WScript.Sleep(5000) >"%temp%\sleep.vbs"
cscript "%temp%\sleep.vbs"
超时/t 1>nul
就像在1秒内暂停一样,你可以将时间延长到近100.000(99.999)秒。如果您连接到互联网,最好的解决方案是:
平1.1.1.1-n 1-w 1000>无
当你ping时,你的计数单位是毫秒,所以一秒钟就是1000毫秒。但是ping命令有点可疑,它在脱机机器上的工作方式不同。问题是,由于机器处于离线状态,它会感到困惑,它想ping一个网站/服务器/主机/ip,但它不能。所以我建议超时。祝你好运