返回列表 发帖
@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 ├────────────────────────────────────────┤
echo0 = 黑色       8 = 灰色                                                         │
echo1 = 蓝色       9 = 淡蓝色                                                       │
echo2 = 绿色       A = 淡绿色                                                       │
echo3 = 浅绿色     B = 淡浅绿色                           │
echo4 = 红色       C = 淡红色                                                       │
echo5 = 紫色       D = 淡紫色                                                       │
echo6 = 黄色       E = 淡黄色                                                       │
echo7 = 白色       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 advancedCOPY

TOP

返回列表