Windows批处理脚本的定时操作

问题:

      Windows批处理中没有像Linux中一样的sleep函数,在一些需要计时的场景则会比较难以处理。

 

解决:

      人类的智慧是无穷地,很多替代地方法被发掘,只要是和定时有关的windows命令,差不多都有人想到了,想了解得更多的可参考文末的链接。

1、VBS实现

精度0.001秒,建文件sleep.vbs:

echo WScript.sleep 5000 > sleep.vbs

在批处理脚本中调用sleep.vbs作为定时命令。

2、timeout

用法: timeout /T 5,这个比较中规中矩,精度1秒。

示例:https://blog.csdn.net/hongweigg/article/details/107353164

3、waitfor

用法:waitfor C /T 5,5为计时秒数

4、ping

用法:ping -n 3 127.0.0.1>nul,3为计时秒数

5、choice

 用法: choice /C YN /D Y /t 5 >nul, 5为计时秒数

      还有一些使用带定时功能的命令来实现的,如:w32tm,typeperf,就不介绍了,使用较为复杂难懂,精度也不高(秒级)。

还有一些使用循环阻塞来实现的,更不推荐使用,耗CPU太严重。

 

参考:

https://ask.xiaolee.net/cn/questions/1008625

posted @ 2020-07-15 14:47  hongweigg  阅读(57)  评论(0编辑  收藏  举报