- @echo off
- title 闹钟程序
- echo 欢迎使用闹铃
- setlocal enabledelayedexpansion
- if not exist %tmp%\ md %tmp%\
- rem 选项
- set ifmsg=n
- set waiguan=0a
- time /t >%tmp%\nowtime.tmp
- for /f %%a in (%tmp%\nowtime.tmp) do set nowtime=%%a
- set music="%windir%\media\Windows XP 启动.wav"
- set setime=00:00
- rem 版本选择
- :password
- set pw=""
- set /p pw=要使用基本版请输入s,要使用完全版请输入a
- if %pw%==s goto starter
- if %pw%==a goto advanced
- goto wrong
- rem 错误
- :wrong
- cls
- echo 输入错误,请重新选择
- goto password
- rem 监视系统时间
- :systemtime
- time /t >>%tmp%\nowtime.tmp
- for /f %%a in (%tmp%\nowtime.tmp) do set nowtime=%%a
- if %nowtime%==%setime% goto play
- ping -n 6 0.0.0.0>>%tmp%\111.tmp
- goto systemtime
- rem 播放铃声
- :play
- if %pw%==s goto play1
- if %pw%==a goto play2
- :play1
- echo set diao=createobject("wmplayer.ocx")>>%tmp%\play.vbs
- echo diao.url=%music%>>%tmp%\play.vbs
- echo wscript.sleep 1200>>%tmp%\play.vbs
- echo wscript.sleep diao.currentMedia.duration *1000>>%tmp%\play.vbs
- %tmp%\play.vbs
- goto end
- :play2
- del %tmp%\play.vbs
- echo set diao=createobject("wmplayer.ocx")>>%tmp%\play.vbs
- echo diao.url=%music%>>%tmp%\play.vbs
- echo wscript.sleep 1200>>%tmp%\play.vbs
- echo wscript.sleep diao.currentMedia.duration *1000>>%tmp%\play.vbs
- %tmp%\play.vbs
- if %ifmsg%==y goto msgsent
- goto end
- :msgsent
- del %tmp%\m.vbs
- cls
- echo msgbox"%msg%">>%tmp%\m.vbs
- %tmp%\m.vbs
- rem 任务完成
- :end
- if %pw%==s exit
- if %pw%==a goto adend
- :adend
- echo 铃声已播放,请选择退出还是返回
- echo 要退出请输入1,要返回请输入2,输入完成请回车
- set endset=""
- set /p endset=
- if %endset%==1 goto adexit
- if %endset%==2 goto advanced
- :adexit
- cls
- mode con: cols=35 lines=6
- echo.
- echo ╭─────────────╮
- echo │ │
- echo │ 非常感谢您的使用,再见! │
- echo │ │
- echo ╰─────────────╯
- ping -n 3 0.0.0.0>>%tmp%\5s.tmp
- exit
- rem 基本版
- :starter
- set setime=""
- set /p setime=请输入闹铃时间并按回车(格式:xx:xx,请根据系统设置选择12小时制或24小时制):
- goto systemtime
- rem 高级版
- :advanced
- cls
- mode con: cols=86 lines=20
- color %waiguan%
- if not exist %windir%\nlsetsave\ md %windir%\nlsetsave\
- echo ┌────────────────────────────────────────┐
- echo │软件设置(r) 设置管理(g) 关于(a) 退出(e) │
- echo ├────────────────────────────────────────┤
- echo 当前设置
- echo 闹铃时间 %setime%
- echo 铃声 %music%
- if %ifmsg%==n echo 播放铃声时不会弹出窗口提示您
- if %ifmsg%==y echo 播放铃声时将显示的信息 %msg%
- echo └────────────────────────────────────────┘
- set choice=""
- set /p choice=请输入字母并回车以使用对应功能,直接回车将开始计时
- if %choice%==r goto nlset
- if %choice%==g goto guan
- if %choice%==a goto about
- if %choice%==e goto adexit
- echo 已开始计时,您可以最小化本窗口并做其它事
- goto systemtime
- rem 闹铃设置
- :nlset
- cls
- echo ┌────────────────────────────────────────┐
- echo │闹铃时间设置(t) 铃声设置(f) 提示设置(m) 外观设置(c) 返回主界面(b)│
- echo ├────────────────────────────────────────┤
- echo 当前设置
- echo 闹铃时间 %setime%
- echo 铃声 %music%
- if %ifmsg%==n echo 播放铃声时不会弹出窗口提示您
- if %ifmsg%==y echo 播放铃声时将显示的信息 %msg%
- echo └────────────────────────────────────────┘
- set sch=""
- set /p sch=请输入字母并回车以使用对应功能
- if %sch%==t goto ts
- if %sch%==f goto rs
- if %sch%==m goto ms
- if %sch%==c goto ws
- if %sch%==b goto advanced
- :ts
- cls
- echo ┌────────────────────────────────────────┐
- echo │闹铃时间设置 │
- echo ├────────────────────────────────────────┤
- echo │请输入闹铃时间并按回车(格式:xx:xx,请根据系统时间设置选择12小时制或24小时制) : │
- echo └────────────────────────────────────────┘
- set /p setime=
- echo 闹铃时间已设置为%setime%
- set r1=""
- set /p r1=重新设置闹铃时间请输入t,返回软件设置请输入r,返回主界面请输入b
- if %r1%==t goto ts
- if %r1%==r goto nlset
- if %r1%==b goto advanced
- :rs
- cls
- echo ┌────────────────────────────────────────┐
- echo │铃声设置 │
- echo ├────────────────────────────────────────┤
- echo │请将铃声文件的图标拖入该窗口中,完成后按回车 │
- echo └────────────────────────────────────────┘
- set /p music=
- echo 铃声已设置为%music%
- set r2=""
- set /p r2=重新设置铃声请输入f,返回软件设置请输入r,返回主界面请输入b
- if %r2%==f goto rs
- if %r2%==r goto nlset
- if %r2%==b goto advanced
- :ms
- cls
- echo ┌────────────────────────────────────────┐
- echo │提示设置 │
- echo ├────────────────────────────────────────┤
- echo │是否在播放铃声时弹出窗口提示您,是请输入y,否请输入n │
- echo └────────────────────────────────────────┘
- set ifmsg=""
- set /p ifmsg=
- if %ifmsg%==y goto msgset
- if %ifmsg%==n goto msgskip
- :msgset
- cls
- echo ┌────────────────────────────────────────┐
- echo │提示信息设置 │
- echo ├────────────────────────────────────────┤
- echo │请输入要提示的信息 │
- echo └────────────────────────────────────────┘
- set msg=""
- set /p msg=
- echo 提示信息已设置为%msg%
- goto msgfi
- :msgskip
- echo 设置成功,在播放铃声时将不会弹出窗口提示您
- goto msgfi
- :msgfi
- set r3=""
- set /p r3=重新设置提示信息请输入m,返回软件设置请输入r,返回主界面请输入b
- if %r3%==m goto ms
- if %r3%==r goto nlset
- if %r3%==b goto advanced
- :ws
- cls
- echo ┌────────────────────────────────────────┐
- echo │外观设置 │
- echo ├────────────────────────────────────────┤
- echo │0 = 黑色 8 = 灰色 │
- echo │1 = 蓝色 9 = 淡蓝色 │
- echo │2 = 绿色 A = 淡绿色 │
- echo │3 = 浅绿色 B = 淡浅绿色 │
- echo │4 = 红色 C = 淡红色 │
- echo │5 = 紫色 D = 淡紫色 │
- echo │6 = 黄色 E = 淡黄色 │
- echo │7 = 白色 F = 亮白色 │
- echo └────────────────────────────────────────┘
- echo 外观设置
- set /p bj=请输入您喜欢的背景颜色所对应的数字或字母:
- set /p wz=请输入您喜欢的文字颜色所对应的数字或字母:
- set waiguan=%bj%^%wz%
- color %waiguan%
- echo 外观设置成功
- set /p r4=重新设置外观请输入c,返回软件设置请输入r,返回主界面请输入b
- if %r4%==c goto ws
- if %r4%==r goto nlset
- if %r4%==b goto advanced
- :guan
- cls
- echo ┌────────────────────────────────────────┐
- echo │设置管理 │
- echo ├────────────────────────────────────────┤
- echo │保存当前设置(s) │
- echo │新建设置(n) │
- echo │使用已保存的设置(u) │
- echo │重命名已保存的设置(r) │
- echo │删除已保存的设置(d) │
- echo │返回主界面(b) │
- echo └────────────────────────────────────────┘
- set guanc=""
- set /p guanc=请输入字母以使用对应功能,完成后回车:
- if %guanc%==s goto save
- if %guanc%==n goto new
- if %guanc%==u goto use
- if %guanc%==r goto rename
- if %guanc%==d goto del
- if %guanc%==b goto advanced
- :save
- set savename=""
- set /p savename=请给当前设置起个名字:
- if exist %windir%\nlsetsave\%savename% goto cf
- :zzbc
- echo 正在保存当前闹铃时间设置...
- echo set setime=%setime%>>%windir%\nlsetsave\%savename%
- echo 成功!
- echo 正在保存当前铃声设置...
- echo set music=%music%>>%windir%\nlsetsave\%savename%
- echo 成功!
- echo 正在保存当前提示设置...
- if %ifmsg%==n goto msgno
- echo set ifmsg=y>>%windir%\nlsetsave\%savename%
- echo set msg=%msg%>>%windir%\nlsetsave\%savename%
- echo 成功!
- goto gon
- :msgno
- echo set ifmsg=n>>%windir%\nlsetsave\%savename%
- echo 成功!
- :gon
- echo 正在保存当前外观设置...
- echo set waiguan=%waiguan%>>%windir%\nlsetsave\%savename%
- echo 成功!
- echo 当前设置已成功保存为%savename%,按任意键返回到设置管理
- pause>>%tmp%\pause.tmp
- goto guan
- :cf
- cls
- echo 已经有一个设置叫%savename%
- set ifg=""
- set /p ifg=输入f将覆盖已有的%savename%,输入r将重新为当前设置命名:
- if %ifg%==r goto save
- echo 正在删除原有的%savename%...
- del %windir%\nlsetsave\%savename%
- echo 成功!
- goto zzbc
- :new
- set newname=""
- set /p newname=请给新建设置起个名字:
- if exist %windir%\nlsetsave\%newname% goto ncf
- set newsetime=""
- set /p newsetime=请输入%newname%中的闹铃时间
- echo 正在将%newname%的闹铃时间设为%newsetime%...
- echo set setime=%newsetime%>>%windir%\nlsetsave\%newname%
- echo 成功!
- set newmusic=""
- set /p newmusic=请将想设置为%newname%铃声的声音文件的图标拖入该窗口中
- echo 正在将%newname%的铃声设为%newmusic%...
- echo set music=%newmusic%>>%windir%\nlsetsave\%newname%
- echo 成功!
- set newifmsg=""
- set /p newifmsg=是否为%newname%设置提示信息,是请输入y,否请输入n:
- if %newifmsg%==n goto newskip
- set newmsg=""
- set /p newmsg=请输入%newname%中的提示信息
- echo 正在将%newname%的提示信息设为%newmsg%...
- echo set ifmsg=y>>%windir%\nlsetsave\%newname%
- echo set msg=%newmsg%>>%windir%\nlsetsave\%newname%
- echo 成功!
- goto gogo
- :newskip
- echo 正在将%newname%设为不提示信息...
- echo set ifmsg=n>>%windir%\nlsetsave\%newname%
- echo 成功!
- :gogo
- echo 0 = 黑色 8 = 灰色
- echo 1 = 蓝色 9 = 淡蓝色
- echo 2 = 绿色 A = 淡绿色
- echo 3 = 浅绿色 B = 淡浅绿色
- echo 4 = 红色 C = 淡红色
- echo 5 = 紫色 D = 淡紫色
- echo 6 = 黄色 E = 淡黄色
- echo 7 = 白色 F = 亮白色
- set newbj=""
- set /p newbj=请输入%newname%中背景颜色所对应的数字或字母:
- set newwz=""
- set /p newwz=请输入%newname%中文字颜色所对应的数字或字母:
- set newwaiguan=%newbj%^%newwz%
- echo 正在将外观设置保存至%newname%...
- echo set waiguan=%newwaiguan%>>%windir%\nlsetsave\%newname%
- echo 成功!
- echo 已经按您的意愿新建了设置%newname%
- set ifuseao=""
- set /p ifuseao=是否立即使用%newname%,是请输入y,否请输入n:
- if %ifuseao%==y goto atonce
- echo 按任意键返回到设置管理
- pause>>%tmp%\pause.tmp
- :atonce
- copy %windir%\nlsetsave\%newname% %tmp%\%newname%.cmd>>%tmp%\copy.tmp
- call %tmp%\%newname%.cmd
- echo 已将%newname%应用到当前设置,按任意键返回到主界面,新设置将立即生效
- pause>>%tmp%\pause.tmp
- goto advanced
- :use
- echo 已保存的设置:
- dir /b %windir%\nlsetsave\
- set useset=""
- set /p useset=请输入要使用的设置的名称:
- echo 正在加载%useset%...
- copy %windir%\nlsetsave\%useset% %tmp%\%useset%.cmd>>%tmp%\copyuse.tmp
- call %tmp%\%useset%.cmd
- echo 成功!
- echo 已将%useset%应用到当前设置,按任意键返回到主界面,新设置将立即生效
- pause>>%tmp%\pause.tmp
- goto advanced
- :rename
- echo 已保存的设置:
- dir /b %windir%\nlsetsave\
- set oldname=""
- set /p oldname=请输入要重命名的设置的名称:
- set rename=""
- set /p rename=请输入%oldname%的新名称:
- echo 正在将%oldname%重命名为%rename%...
- ren %windir%\nlsetsave\%oldname% %rename%
- echo 成功!
- set remsu=""
- set /p remsu=要继续重命名其它设置请输入r,要返回设置管理请输入g:
- if %remsu%==r goto rename
- goto guan
- :del
- %systemdrive%
- cd %windir%\nlsetsave\
- echo 已保存的设置:
- dir /b %windir%\nlsetsave\
- set delset=""
- set /p delset=请输入要删除的设置的名称,如果要删除多个设置,请用分号(;)间隔。如果要删除所有设置,请输入星号(*)
- echo 正在删除...
- del /q %windir%\nlsetsave\%delset%
- echo 成功!
- set delsu=""
- set /p delsu=要继续删除其它设置请输入d,要返回设置管理请输入g:
- if %delsu%==d goto del
- goto guan
- :about
- mode con: cols=35 lines=21
- cls
- echo.
- echo ╭──────╮
- echo ╭───┤ 关于 ├───╮
- echo │ ╰──────╯ │
- echo │闹钟 │
- echo │ │
- echo │版本:v1.0 │
- echo │ │
- echo │意见箱: │
- echo │wangchi470067933@gmail.com │
- echo │wang2_chi2@163.com │
- echo │适用平台: │
- echo │Windows 2000 │
- echo │Windows XP │
- echo │Windows server 2003 │
- echo │ │
- echo │闹钟为开源软件,您可以自由更│
- echo │改、传播它。 │
- echo ╰──────────────╯
- echo 按任意键回到主界面
- pause>>%tmp%\pause.tmp
- goto advanced
复制代码
|