批处理自动提醒

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:21:56
我在网上收集了一个批处理程序,双击批处理程序经过设置可以设置为定时关机;我还在网上找到了一个用批处理弹出对话框的程序:现在我想把两个批处理结合起来,制作成双击批处理程序经过设置可以设置为定时提醒,即先双击批处理文件,在批处理程序的提示下设定一个时间,这个时间一到就自动弹出一个对话框进行提示。谢谢!
———
自动关机部分程序.bat
:start
CLS
COLOR a0
rem 使用COLOR命令对控制台输出颜色进行更改
MODE con: COLS=28 LINES=24
rem MODE语句为设定窗体的宽和高

set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO 当前时间:
@echo off
for /f "tokens=1,2,3 delims=- " %%i in ('date /t') do echo %%i年%%j月%%k日
ECHO %tm1%点%tm2%分%tm3%秒
ECHO E. 每天定时关机
ECHO M. 每周一定时关机
……(省略)……

SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入ABC,则返回值为A
ECHO.
IF /I "%Choice%"=="E" GOTO E
IF /I "%Choice%"=="M" GOTO M
……(省略)……
ECHO 选择无效! 按任意键返回
PAUSE >nul
GOTO s

我测试过了,没有问题。不过你运行时不能关闭命令行窗口,到时间才会弹出对话框!我也想给你弄个隐藏窗口的功能,但是总是有错误,不好实现啊。
下面这段代码是我自己编写的,主要功能是,输入要定时间的小时数,还有分钟数,然后定时期完成,到指定时间就会弹出确认框:时间到

@echo off
CLS
COLOR a0
MODE con: COLS=50 LINES=24
set /p hour=请输入小时
set /p minu=请输入分钟
echo 定时完成
set tm1=%time:~0,2%
if %tm1%==%hour% goto minute
goto start

:minute
set tm2=%time:~3,2%
if %tm2%==%minu% goto end
goto minute

:end
echo msgbox "时间到了","0","Time to go!">%n%.vbs
echo createobject^("scripting.filesystemobject"^).deletefile wscript.scriptname>>%n%.vbs
start %n%.vbs

pause&exit