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 time<1ms TTL=60

Reply from 1.1.1.1: bytes=32 time<1ms TTL=60

Reply from 1.1.1.1: bytes=32 time=6ms TTL=60

Reply from 1.1.1.1: bytes=32 time<1ms 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

(为何不发布出来呢?)

下载地址://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文件

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

本文标题: Windows命令行bat批处理延迟sleep方法(批处理延时)

本文地址: http://www.cppcns.com/jiaoben/dosbat/142485.html

bat延时100ms_Windows命令行bat批处理延迟sleep方法(批处理延时)相关推荐

  1. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法

    在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...

  2. 在Win10下解压linux压缩包,Win10如何解压缩文件?win10使用命令行来解压缩文件的方法...

    电脑的硬盘空间是有限的,如果你的硬盘空间比较紧张,解压缩文件不失为一个好方法.,Win10如何解压缩文件呢?其实和ZIP文件压缩或者RAR文件压缩相比,使用命令行来解压缩文件会方便的多,因为你不需要创 ...

  3. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  4. 在 Linux 命令行发送邮件的 5 种方法

    转载来源 :在 Linux 命令行发送邮件的 5 种方法 :http://www.safebase.cn/article-259551-1.html 摘要: 当你需要在 shell 脚本中创建邮件时, ...

  5. 怎么用命令远程重启服务器,使用命令行重启Windows服务器的方法

    这篇文章主要介绍了使用命令行重启Windows服务器的方法,需要的朋友可以参考下 命令: c:/> shutdown /r 通常大多数用户的使用GUI图形界面方式访问远程或本地的Windows系 ...

  6. cmd命令行mysql乱码解决方法_mysql命令行显示乱码的解决方法

    mysql命令行显示乱码的解决方法:1.打开my.ini配置文件:2.修改配置[default-character-set=utf8]:3.改变数据库的编码方式,如[set character_set ...

  7. 通过linux访问IPMI端口,Linux通过命令行设置IPMI的解决方法

    IPMI(智能平台管理接口)是一种开放标准的硬件管理接口规格,定义了嵌入式管理子系统进行通信的特定方法.使用低级硬件智能管理而不使用操作系统进行管理,具有两个主要优点: 首先,此配置允许进行带外服务器 ...

  8. java 引用 jar包_java命令行引用jar包的方法

    java命令行引用jar包的方法 java命令行怎么引用jar包?jar包有哪些常用方法?下面跟yjbys小编一起来学习一下,希望对大家学习java语言有帮助! 一般情况下: 如果java 文件和ja ...

  9. 【解决】Ubuntu命令行弹出光驱的方法

    [解决]Ubuntu命令行弹出光驱的方法 参考文章: (1)[解决]Ubuntu命令行弹出光驱的方法 (2)https://www.cnblogs.com/QuLory/archive/2012/10 ...

最新文章

  1. transmission Linux(debian)下的BT下载客户端安装
  2. SQL多表连接查询(详细实例)
  3. 时光穿越_电脑时间显示为2011年6月1日
  4. VALID SAME
  5. .NET Core 中的 Generic Host快速使用指南
  6. php网站的编辑器,5款适合PHP使用的HTML编辑器推荐
  7. 初探弹出层的实现原理
  8. VMware Workstation安装虚拟机失败
  9. C#中的深度学习:了解神经网络架构
  10. w ndows10怎么联网,windows10所有uwp应用都无法联网的两种解决方法
  11. 如何使页面POSTBACK后,仍然显示原来的显示位置
  12. 随机函数_巧用随机函数,生成各种姓名组合。
  13. AR8035 linux
  14. 昆仑通态触摸屏如何把参数由触摸屏传递到PLC_S71200与其他PLC/组态软件无线串口通讯(自由口)...
  15. 帝国CMS系统目录结构介绍
  16. 学习CPP看过的博客
  17. Android日历操作
  18. 计算机二级vbf课百度云,2021年度计算机二级考试考前冲刺卷新整理版.doc
  19. javascript_实现
  20. 新高考3+1+2模式(4选2)全走班自动排课系统7.0(正式版)

热门文章

  1. 分数S(Stockwell)变换Matlab代码
  2. ts多个type合并, 属性不唯一合并冲突问题
  3. Ubuntu20.4安装ROS系统教程(自用)
  4. [cocos2dx_Lua]quick中的组件Component
  5. 高效+安全,华为云WeLink云空间是如何在企业网盘产品中脱颖而出的?
  6. 基于51单片机的指纹密码锁设计
  7. Centos7搭建ntp时间服务器
  8. Java环境安装和配置(jre和jdk)
  9. 在外远程访问禅道,点亮软件测试新技能「内网穿透」
  10. html表格为什么不显示,数据表格不显示HTML表格数据