首先bat延迟指的是就是执行一条命令后延迟一段时间再进行下一条命令。在cmd下或批处理中,常使用以下四种方法进行时间延迟:
1、利用ping命令延时。段岩派
示例1:
@echooff
echo延时前:%time%
ping/n3127.0.0.1>nul
echo延时后:%time%
pause
2、利用for命令延时。
示例2:
@echooff
echo延时前:%time%
for/l%%iin(1,1,5000)doecho%%i>nul
echo延时后:%time%
pause
3、利用vbs延迟函数,精确度毫秒,误差1000毫秒内。
示例3:
@echooff
echo%time%
call:delay5000
echo%time%
pause
exit
:delay
echoWScript.Sleep%1>delay.vbs
CScript//Bdelay.vbs
deldelay.vbs
goto:eof
4、仅用批处理命令实现任意时间延迟,精确度10毫秒,误差50毫秒内仅用批处理命令就可以实现延迟 *** 作。
示例4:
@echooff
set/pdelay=请枣孝输入需延迟的毫秒数:
setTotalTime=0
setNowTime=%time%
::读取握贺起始时间,时间格式为:13:01:05.95
echo程序开始时间:%NowTime%
:delay_continue
set/aminute1=1%NowTime:~3,2%-100
::读取起始时间的分钟数
set/asecond1=1%NowTime:~-5,2%%NowTime:~-2%0-100000
::将起始时间的秒数转为毫秒
setNowTime=%time%
set/aminute2=1%NowTime:~3,2%-100
::读取现在时间的分钟数
set/asecond2=1%NowTime:~-5,2%%NowTime:~-2%0-100000
::将现在时间的秒数转为毫秒
set/aTotalTime+=(%minute2%-%minute1%+60)%%60*60000+%second2%-%second1%
if%TotalTime%lss%delay%gotodelay_continue
echo程序结束时间:%time%
echo设定延迟时间:%delay%毫秒
echo实际延迟时间:%TotalTime%毫秒
pause
希望以上几种方法能让你圆满的解决问题!
1、开机延时90秒启动一个EXE程序和一个BAT批处理文件。
2、然后,在bat文件上右击鼠标,在d出的菜单中选择“创建快捷方式”。
3、为bat批处理文件在当前目录中创建一个快捷方式。
4、然后点击“开始菜单”,依次展开“所有程序”——“悔宏启动”。
5、然后在“启动”选项上右击鼠标,d出菜单中选择“打开”(如果你希望bat文件在该电脑上所有用户开机登录系统时都启动,请选择“打开所有用户”,否则只在当前脊前态用户开机时启动)。
6、打开如下图所示的“启动”窗口,在该窗口中的程序,会在系统重启登录时运行。
7、再回到bat批处理文件所在的目录,将前面创建的快捷方式剪切后,粘贴到启动樱源窗口中,即可完成该bat批处理文件的开机自启动设置了。
我来抛砖引玉吧,只能做到延时启动,不能延时期间接受隐键答屏幕输入,单纯的BAT在接受屏幕输入灶慧时会暂停程序的亮尘执行,此时计时中止。多线程的高级语言设计应该可以做到。
@echo offfor /L %%a in ( 3,-1,0 ) do (
echo 30秒后将运行QQ.exe ,按"Y"立即启动,按"N"退出
echo 还剩余 %%a 秒
ping -n 2 localhost 1>nul 2>nul
cls
)
cd /d "C:\Program Files (x86)\Tencent\QQ\Bin"&&qq
exit
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)