批处理文件实现延时:
Windows下批处理文件没有像Linux一样的Sleep函数进行延时处理,这里有2种较为实用的方法实现延迟:
1、使用WScirpt的sleep功能,精度0.001秒
创建vbs延迟文件,然后在批处理文件中调用,使用WScript的 sleep函数,实现sleep的效果。
实战:
1)创建文件sleep.vbs:
echo WScript.sleep 5000 > sleep.vbs
sleep.vbs 内容如下:
WScript.sleep 5000。
2)在批处理文件中调用,创建示例文件test.bat,内容如下:
sc stop OracleOraDb10g_home1TNSListener
Wscript sleep.vbs
sc start OracleOraDb10g_home1TNSListener
2、使用ping 的定时功能,精度1秒
实战:创建示例文件test2.bat,内容如下:
sc stop OracleOraDb10g_home1TNSListener
ping -n 3 127.0.0.1>nul
sc start OracleOraDb10g_home1TNSListener
说明:3为ping包发送次数,可作为延迟秒数进行使用,需要延迟几秒就设置几。
>nul避免屏幕输出,将输出输入到空设备,因为不需要结果,仅用到其定时功能。
3、还有两种方法实现Sleep功能
一种是通过连续读取系统时间,进行比较,达到一定值时退出实现睡眠功能,但该操作应耗用CPU较大,不推荐。
另一种是德国一位哥们的做法,直接用debug方法生成一个定时器程序,该方法可能破坏系统的稳定性,或容易植入病毒(使用他人代码),亦不推荐使用。
在要执行的命令前面加入ping127.0.01 -n 10 ,这行命令代表的是ping 本地网卡 10次
ping 命令是一秒执行一次
-n 代表的次数
所以就实现了延迟10秒执行
举例:
ping 127.0.0.1 -n 10
msconfig
实现的功能是:10秒后打开系统配置
用ping -n 4127.1>nul
这个命令来当计时器就可以了。
批处理定义,是将一系列命令按一定的顺序集合为一个可执行的文本文件。其扩展名为BAT或CMD。