• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Windows命令行bat批处理延迟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避免屏幕输出,将输出输入到空设备,因为不需要结果,仅用到其定时功能。

    以下是其他网友的补充:

    好好的批处理,居然没有正式的Sleep可供调用。有时候,确实感到很无趣。
    1. 方法1:
    ping 1.1.1.1来模拟
    好不容易从stackoverflow上找到一个答案(称之为答案,是因为它被人标注为answer),是这么实现的:
    ping 1.1.1.1 -n 1 -w 60000 > nul
    这个表示,会sleep 60秒钟。

    果真如此吗? 它要基于一个假设:1.1.1.1永远不会被目标机器ping通。但我却碰到了灵异事件,在某台测试机上,直接能ping通:
    Pinging 1.1.1.1 with 32 bytes of data:
    Reply from 1.1.1.1: bytes=32 time1ms TTL=60
    Reply from 1.1.1.1: bytes=32 time1ms TTL=60
    Reply from 1.1.1.1: bytes=32 time=6ms TTL=60
    Reply from 1.1.1.1: bytes=32 time1ms TTL=60


    Ping statistics for 1.1.1.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 6ms, Average = 1ms
    所以,这个方法是靠不住的。

    2. 依然使用ping来模拟,
    请看下边的bat:

    这个就表示要sleep大概60秒钟。

    当然,你也可以把wait_ext1那部分重命名一个单独的批处理进行调用。

    3. 似乎2003还有一个resource kit包下载,里边就有sleep.exe
    (为何不发布出来呢?)

    下载地址:https://www.jb51.net/softs/2466.html

    有时候真的是痛恨Windows下的批处理.

    3、还有两种方法实现Sleep功能

    一种是通过连续读取系统时间,进行比较,达到一定值时退出实现睡眠功能,但该操作应耗用CPU较大,不推荐。

    另一种是德国一位哥们的做法,直接用debug方法生成一个定时器程序,该方法可能破坏系统的稳定性,或容易植入病毒(使用他人代码),亦不推荐使用。

    echo q | debug>nul
    echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sleep.com
    echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>sleep.com
    echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>sleep.com
    echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>sleep.com
    echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>sleep.com
    echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>sleep.com
    echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>sleep.com
    echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>sleep.com
    echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>sleep.com
    echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>sleep.com
    echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\EH>>sleep.com
    echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>sleep.com
    echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>sleep.com
    sleep.com>sleep.exe
    del sleep.com

    以上代码要使用批处理方式.使用 sleep.exe 10000 时间单位是毫秒

    4、从脚本之家下载sleep.exe文件

    https://www.jb51.net/softs/2466.html

    您可能感兴趣的文章:
    • Windows批量搜索并复制/剪切文件的批处理程序实例
    • windows搜索空文件夹的批处理程序代码实例
    • Windows下使用批处理文件.bat删除旧文件
    • Windows 2008 r2任务计划程序执行批处理失败问题解决方法
    • Windows下bat批处理脚本使用telnet批量检测远程端口小记
    • PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
    • Windows运行bat批处理文件时隐藏cmd命令提示符窗口的方法
    • windows批处理命令教程
    • Windows下用命令行修改IP地址的方法详解(附批处理文件)
    • windows批量检测文件(夹)是否存在的批处理程序
    上一篇:bat、vbs、js 原生混编(一个bat可以执行vbs,js代码)
    下一篇:Ghost安装Win7/XP后自动恢复IP的批处理代码(ip备份恢复)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Windows命令行bat批处理延迟sleep方法(批处理延时) Windows,命令行,bat,批处理,