五种方法可以实现批出里的延时,推荐使用方法一,该方法也是使用最多的.

方法一 用ping命令延迟(这是最简单而且是最常见的):

@echo off

echo "use ping to delay"

set SLEEP=ping 127.0.0.1 /n

echo %time%

%SLEEP% 4 > nul

echo %time%

pause

方法二 还可以用for循环作延迟,例如:

@echo off

echo "use for to delay"

echo %time%

for /l %%i in (1,1,100) do echo %%i >nul

echo %time%

pause

方法三 用choice命令作延迟:例如

@echo off

echo "use choice to delay"

CHOICE /T 3 /C ync /CS /D y

if errorlevel 1 goto next

:next

:: /T:为暂停秒数(0~9999)这里是暂停10秒的意思

:: /D:为在 nnnn 秒之后(即/T设定的时间)指定默认选项。

:: /c:为指定要创建的选项列表。默认列表是 "YN"。若只作延迟,这里可以设置默认选项为y,暂停后通过if去到默认的标签处执行后面的命令。

:: 若想了解更多可以在cmd中输入choice/?

方法四 用vbs作延迟(可精确到毫秒):

@echo off

echo "use vbs to delay"

echo %time%

call :delay 3000

echo %time%

pause

exit

:delay

echo WScript.Sleep %1>delay.vbs

CScript //B delay.vbs

del delay.vbs

方法五 纯粹用bat延迟(最为复杂,可精确到毫秒):

@echo off

set /p delay=请输入需延迟的毫秒数:

set TotalTime=0

set NowTime=%time%

::读取起始时间,时间格式为:13:01:05.95

echo 程序开始时间:%NowTime%

:delay_continue

set /a minute1=1%NowTime:~3,2%-100

::读取起始时间的分钟数

set /a second1=1%NowTime:~-5,2%%NowTime:~-2%0-100000

::将起始时间的秒数转为毫秒

set NowTime=%time%

set /a minute2=1%NowTime:~3,2%-100

:: 读取现在时间的分钟数

set /a second2=1%NowTime:~-5,2%%NowTime:~-2%0-100000

::将现在时间的秒数转为毫秒

set /a TotalTime+=(%minute2%-%minute1%+60)%%60*60000+%second2%-%second1%

if %TotalTime% lss %delay% goto delay_continue

echo 程序结束时间:%time%

echo 设定延迟时间:%delay%毫秒

echo 实际延迟时间:%TotalTime%毫秒

pause

教你一招:windows批处理中实现延时的办法的更多相关文章

  1. 重装助手教你如何在Windows 10中更改您的帐户名称

    当您设置新的Win10免费下载 PC时,您选择用户名的部分可能会让您措手不及.如果是这种情况,您可以选择弹出头部的第一件事或者您打算稍后更改的随机和临时事物.但令人惊讶的是,在Windows 10中更 ...

  2. Windows批处理中获取日期和时间

    编写Windows bat 批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的. 如何获取日期呢? 格式: %date% 结果: -- 如何获取时间呢? 格式: %time% 结果: :: ...

  3. 教你一招:Word中的文字转换成表格,把表格转换成文字

    在使用office软件时,常常会在Word中加入表格,这时候我们一般想到的是,建立表格,然后一格一格的填写;或者用Excel表格制作在复制到Word文档中.其实在Word中就可以将文本文档转换成电子表 ...

  4. 教你一招:Excel中使用MID函数获取身份证中的出生年月日

    MID字符串函数,作用是从一个字符串中截取出指定数量的字符 MID(text, start_num, num_chars)   text被截取的字符 start_num从左起第几位开始截取(用数字表达 ...

  5. 教你一招:Excel中使用vlookup函数查询序列所对应的值

    以一个简单的例子做示范,列数相对较少,看起来也比较清楚:在奥运会或其他比赛上我们可以看到各个国家的奖牌数的变化:那么我们如何查询国家对应的总奖牌数. 我们用到的函数是vlookup,它是一个纵向查询函 ...

  6. windows批处理中的%0 %1 %2 %3

    原来就是参数的顺序.....倒...我还查了老半天

  7. windows批处理运行java程序

    明确需求 今天你编了一个java swing版照片查看器,想让计算机上的所有照片默认打开方式都改成你的照片查看器. 使用工具软件 很多工具软件都是不把jre打包到exe中的,这就是说打包之后的exe只 ...

  8. Windows批处理命令学习中遇到的坑--持续更新中

    再次拾起windows批处理命令,下边将一些遇到的小问题写出来,希望可以帮到大家 1.set命令:set主要的作用是为变量赋值,类似于编程语言中的var i = Value:但是在使用的过程中一定要注 ...

  9. IE-“无法浏览网页” 教你十招解决疑难杂症

    “无法浏览网页” 教你十招解决疑难杂症 相信大家也有遇到过像IE不能上网浏览的问题.下面就来给大家介绍一下常见原因和解决方法: 一.网络设置的问题 这种原因比较多出现在需要手动指定IP.网关.DNS服 ...

随机推荐

  1. 把玩Javascript中的bind

    前言 今天闲着无聊随便逛了逛MDN,忽而看到一个方法Function.prototype.bind(),突然发现除了使用这个方法之外都没有仔细琢磨过这个方法.于是乎,找到了kill time的事情-写 ...

  2. request.environ.get('wsgi.websocket')

    前言 websocket 是一种html5新的接口,以前服务器推送需要进行ajax等方式进行轮训,对服务器压力较高,随着新标准的推进,使用websocket在推送等方面已经是比较成熟了,并且各个浏览器 ...

  3. BZOJ.1022.[SHOI2008]小约翰的游戏John(博弈论 Anti-Nim)

    题目链接 Anti-Nim游戏: 先手必胜当且仅当: 1.所有堆的石子数为1,且异或和为0 2.至少有一堆石子数>1,且异或和不为0 简要证明: 对于1:若异或和为1,则有奇数堆:异或和为0,则 ...

  4. centos 6 秘钥分发

    http://www.cnblogs.com/chensiqiqi/p/6554055.html

  5. 在AngularJS中实现一个延迟加载的Directive

    所谓的延迟加载通常是:直到用户交互时才加载.如何实现延迟加载呢? 需要搞清楚三个方面: 1.html元素的哪个属性需要延迟加载?2.需要对数据源的哪个字段进行延迟加载?3.通过什么事件来触发延迟加载? ...

  6. WCF:又是枚举惹的祸

    在WCF中使用枚举不便于服务的演化,因为增加一个枚举值,需要更新所有客户端.某种程度上说这也带来了好处,即:防止了新增枚举值带来的意外(宁可失败,也不意外). 鉴于枚举的这种表现,以后尽可能的采用in ...

  7. windows环境下面批量移动文件到指定文件夹里面

    move D:批量新建文件夹\upload\20171225173033565_2052.jpg D:批量新建文件夹\1623 move D:批量新建文件夹\upload\20171225174344 ...

  8. Spring ActiveMQ 整合(三): 确认机制ACK(收到消息后,应该有一个回应也就是确认答复)

    https://blog.csdn.net/dly1580854879/article/details/68490197

  9. Duplicate复制数据库并创建物理StandBy(spfile+不同实例名)

    过程和Duplicate复制数据库并创建物理StandBy类似,只是不需要重启数据库. 目的:创建standby,不重启源数据库 1设定环境如下: Primary数据库 IP 172.17.22.16 ...

  10. 鼠标滑过table时修改表格行的背景颜色

    方法一: #customers tr:hover { background-color: #f00; } 方法二: <tr onmouseover="style.backgroundC ...