首页 > 代码库 > Windows 命令行(批处理)文件延迟(sleep)方法

Windows 命令行(批处理)文件延迟(sleep)方法

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方法生成一个定时器程序,该方法可能破坏系统的稳定性,或容易植入病毒(使用他人代码),亦不推荐使用。

Windows 命令行(批处理)文件延迟(sleep)方法