bat脚本计时器,bat设置等待时间bat等待几秒

bat脚本计时器,bat设置等待时间

1、前言

bat设置等待时间的方法挺多的,查了一下也有比较简单的,如向本地ip发包。但是发现这个时间不太精确,所以自己写了一个bat脚本计时器,可以自己设置等待时间,这样在编写bat脚本的时候非常方便的去设置一个代码执行的等待时间。

思路:获取本地系统的时间(秒),通过操作本地时间(秒)实时输出时间差来达到一个等待的目的。

2、问题

编写完成后遇到两个问题:

  • 能力所限解决不了这两个问题;
  • 非常欢迎各位大哥留言,希望提供一些建议,非常感谢;
  1. 获取系统时间:时间/秒==0时,第0秒对应的等待时间显示:ECHO 处于关闭状态,预期结果应该是打印此刻对应的时间;
  2. 获取系统时间:7s < 时间/秒 < 10s时,有错误信息提示,提示内容是:无效数字。数字常数只能是十进制(17),十六进制(0x11)或八进制(021);

3、脚本内容

::bat计时器,设置等待n秒再执行下面命令
:: 设置打印关闭
@echo off
::设置等待时长(计时器长度/秒),需要自己配置
set /a waitTime=120

::计时器内容如下:
set /a getSysS=%time:~6,2%
set /a count=0
set /a judge=-1
set /a remS=-1
::开始
:start
set /a saveSysS=%time:~6,2%
set /a countS=60*%count%+%saveSysS%
set /a showS=%countS%-%getSysS%
if %saveSysS% equ 0 (
	if %judge% equ 1 (
		set /a count=%count%+1
		if %remS% neq %showS% (
			cls
			set /a showS1=%remS%+1
			echo %showS1%
			set /a remS=%showS%
		)
		set /a judge=0
	)
) else (
	if %saveSysS% equ 59 (
		set /a judge=1
	)
	if %remS% neq %showS% (
		if %saveSysS% equ 0 (
			cls
			set /a showS1=%remS%+1
			echo %showS1%
		) else (
			cls
			echo %showS%
		)
		set /a remS=%showS%
	)
)
::超时结束计时器
if %showS% lss %waitTime% (
	goto start
)
pause

4、结尾

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值