bat如何延时执行指定命令?

bat如何延时执行指定命令?,第1张

首先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 off 

for /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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12320910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存