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太严重。