标题: [日期时间] [分享]批处理在指定日期或时间触发弹窗提醒的时钟 [打印本页]
作者: impk 时间: 2019-7-29 11:30 标题: [分享]批处理带提醒功能的时钟 --完成版在7楼
本帖最后由 impk 于 2019-8-3 14:32 编辑
- @echo off
- color 2F
- mode con cols=50 lines=3
-
- set /p 触发1= 请输入触发时间:(12:00:00格式)
- set /p 备忘1= 请输入备忘内容:
-
- :start
- if "%time%"=="%触发1%" goto :note
- echo %date% %time:~0,8% && ping /n 2 127.1>nul
- goto :start
-
- :note
- echo %备忘1%
- pause
- set 触发1=
- goto :start
复制代码
这么写对么?
作者: Batcher 时间: 2019-7-29 14:19
你测试的时候遇到什么问题了吗?
作者: impk 时间: 2019-7-29 14:32
你测试的时候遇到什么问题了吗?
Batcher 发表于 2019-7-29 14:19
我测试时,当%time%到达%触发1%指定时间时,并没有跳转到note
作者: impk 时间: 2019-7-29 15:07
本帖最后由 impk 于 2019-7-29 15:13 编辑
找到原因了,要先把%time%时间函数转换成字符串- @echo off
- color 2F
- mode con cols=50 lines=3
-
- set /p 触发1= 请输入触发时间:(格式如12:00)
- set /p 备忘1= 请输入备忘内容:
-
- :start
- if "%触发1%"=="%time1%" goto :note
- echo %date% %time:~0,8% && ping /n 2 127.1>nul
- set time1=%time:~0,5%
- goto :start
-
- :note
- echo %备忘1%
- pause
- set 触发1=
- goto :start
复制代码
作者: 1801403 时间: 2019-7-29 20:16
都是大神...学习了.
作者: impk 时间: 2019-7-30 19:07
能触发弹窗提醒的时钟- @echo off
- color 2F
- mode con cols=50 lines=3
-
- set /p 触发1= 请输入触发时间:(12:00格式)
- set /p 备忘1= 请输入备忘内容:
-
- :start
- if "%触发1%"=="%time1%" goto :note1
- echo %date% %time:~0,8% && ping /n 2 127.1>nul
- set time1=%time:~0,5%
- goto :start
-
- :note1
- echo %备忘1% >提醒.txt && explorer 提醒.txt
- set 触发1=
- goto :start
复制代码
作者: impk 时间: 2019-7-30 19:25 标题: [分享]批处理在指定日期或时间触发弹窗提醒的时钟
本帖最后由 impk 于 2019-8-3 15:56 编辑
这个是最终完成版- @echo off
- color 2F
- mode con cols=50 lines=3
-
- set /p 触发1a= 设置触发日期:(格式如 2000-01-01)
- set /p 触发1b= 或设置触发时间:(格式如 08:30)
- set /p 备忘1= 输入提醒内容:
-
- :start
- set date1=%date:~0,10%
- set time1=%time:~0,5%
- set time1=%time1: =0%
- if "%触发1a%"=="%date1%" goto :弹窗1
- if "%触发1b%"=="%time1%" goto :弹窗1
- echo %date% %time:~0,8% && ping /n 2 127.1>nul
- goto :start
-
- :弹窗1
- echo %备忘1% >提醒1.txt && start 提醒1.txt
- set 触发1a= & set 触发1b=
- goto :start
复制代码
作者: impk 时间: 2019-7-30 21:04
- if "%触发1%"=="%date1%" (
- goto :弹窗1
- ) else if "%触发2%"=="%time1%" (
- goto :弹窗1
- ) else echo %date% %time:~0,8% && ping /n 2 127.1>nul
复制代码
这里有没有必要用到 if else,可不可以简化成
if "%触发1%"=="%date1%" goto :弹窗1
if "%触发2%"=="%time1%" goto :弹窗1
echo %date% %time:~0,8% && ping /n 2 127.1>nul
作者: Batcher 时间: 2019-7-30 21:12
回复 1# impk
第10行不一定能够获取到正确的日期,参考:
http://bbs.bathome.net/thread-3328-1-1.html
作者: impk 时间: 2019-7-30 21:34
回复 3# Batcher
教程里最简单几种BAT + REG,现在也看不懂,留到以后再看
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |