window 定时提醒喝水休息脚本

window脚本 自定义倒计时时间,弹窗提醒。

脚本代码

@echo off
color 0a

:onceAgain
set /p inputTime=请输入计时时间(分钟):
set /p inputString=请输入提醒内容:
set baseTime=%time:~0,8%
echo 定时时间%inputTime%分钟
::PAUSE

REM convert from string to number
set /a baseHour=%baseTime:~0,2%
set /a baseMinute=%baseTime:~3,2%
set baseSecond=%baseTime:~6,2%
::echo 当前时间: %baseHour%:%baseMinute%:%baseSecond%
::PAUSE

REM calculate set time
set /a setSecond=%baseSecond%
set /a inputMinute=%inputTime%
set /a setMinute=%baseMinute%+%inputMinute%
set /a setHour=%baseHour%
::echo 累加至%setMinute%分钟,设定时间:%setHour%:%setMinute%:%setSecond%

REM If minutes out of range(60 Min * 24), return
if %setMinute% GEQ 1440 (
    echo 暂未支持计时超出一天,一条时间:1440分钟,计时时间:%setMinute%分钟
    goto onceAgain
) else if %setMinute% EQU 0 (
    echo 定时0分钟,由于baseTime 和 currentTime取值有时间差,可能出现0分钟定时失败
)

:balanceTime
if %setMinute% GEQ 60 (
    echo %setMinute%大于60
    set /a setHour=%setHour%+1
    set /a setMinute=%setMinute%-60
    if %setHour% GEQ 24 (
        set /a setHour=%setHour%-24
        echo 时间反转:24->0)
    goto balanceTime
)

REM record reminde time
REM if setHour=5, change it to 05
if %setHour% LSS 10 (
	set setHour=0%setHour%
)
if %setMinute% LSS 10 (
	set setMinute=0%setMinute%
)
if %setSecond% LSS 10 (
	set setSecond=0%setSecond%
)
set remindedTime=%setHour%:%setMinute%:%setSecond%
echo remindedTime:%remindedTime%
echo.

::used to print log every 1s
set oldSecond=66 

:waitForTimeUp
set currentTime=%time:~0,8%
set currentSecond=%currentTime:~6,2%

REM print log every 1s
if not "%oldSecond%" == "%currentSecond%" (
    set oldSecond=%currentSecond%
    echo 当前时间%currentTime%,提醒时间 %remindedTime%
)

REM judge if time up
if "S%currentTime%" == "S%remindedTime%" (
    echo 定时时间到
) else (
    goto waitForTimeUp
)

REM save log
echo [%date% %currentTime%]%baseTime% 开始,定时 %inputTime% 分钟时间到。 提醒内容: %inputString% >> reminder.log

REM Dialog
(echo [%date% %currentTime%]%baseTime% 开始,定时 %inputTime% 分钟时间到。
echo 提醒内容:%inputString%)|msg %username% /w 
cls & goto onceAgain

如果window执行bat脚本显示中文乱码

如果window执行bat脚本显示中文乱 添加字体格式

CHCP 65001>nul

在这里插入图片描述

执行脚本

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木石之间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值