Board logo

标题: [系统增强] 【个性工具】批处理版多功能闹铃 [打印本页]

作者: 嘟嘟猪    时间: 2008-8-23 21:38     标题: 【个性工具】批处理版多功能闹铃

写了个多功能闹钟程序请大家帮忙找一下有什么bug或可以改进的地方我只在win2003下测试过,不知道其他环境下能否正常运行受发帖字数限制,只好上传到网络硬盘上了,欢迎下载http://www.namipan.com/d/cff3b61182aa550ac010800dc6a4c4f2efef4a364c360000

链接: https://pan.baidu.com/s/1eDJHQab1Y-l_xEyJuu9PDQ?pwd=zk7i
作者: pusofalse    时间: 2008-8-23 21:45

弹出播放器窗口了,可以借助VBS来隐藏。
貌似还可以简化。支持!
作者: 嘟嘟猪    时间: 2008-8-23 22:07     标题: 谢谢了

已经改进并且重新上传了
作者: SmallK    时间: 2008-8-26 11:08

粗略看了一下,脚本似乎还很粗糙啊~~
临时只看了一下外观,发现设置外观的时候背景色和前景色一样时没有任何提示,依然会显示设置成功……
还有提示输入的时候,最好提示后面再加个冒号什么的吧,要不都看不太清楚!
作者: axandal    时间: 2008-8-30 00:57

看不到啊,我是刚来的
作者: Batcher    时间: 2008-8-30 10:02     标题: 回复 5楼 的帖子

你看不到什么?
作者: wang_qia    时间: 2016-2-5 09:50

  1. @echo off
  2. title 闹钟程序
  3. echo 欢迎使用闹铃
  4. setlocal enabledelayedexpansion
  5. if not exist %tmp%\ md %tmp%\
  6. rem 选项
  7. set ifmsg=n
  8. set waiguan=0a
  9. time /t >%tmp%\nowtime.tmp
  10. for /f %%a in (%tmp%\nowtime.tmp) do set nowtime=%%a
  11. set music="%windir%\media\Windows XP 启动.wav"
  12. set setime=00:00
  13. rem 版本选择
  14. :password
  15. set pw=""
  16. set /p pw=要使用基本版请输入s,要使用完全版请输入a
  17. if %pw%==s goto starter
  18. if %pw%==a goto advanced
  19. goto wrong
  20. rem 错误
  21. :wrong
  22. cls
  23. echo 输入错误,请重新选择
  24. goto password
  25. rem 监视系统时间
  26. :systemtime
  27. time /t >>%tmp%\nowtime.tmp
  28. for /f %%a in (%tmp%\nowtime.tmp) do set nowtime=%%a
  29. if %nowtime%==%setime% goto play
  30. ping -n 6 0.0.0.0>>%tmp%\111.tmp
  31. goto systemtime
  32. rem 播放铃声
  33. :play
  34. if %pw%==s goto play1
  35. if %pw%==a goto play2
  36. :play1
  37. echo set diao=createobject("wmplayer.ocx")>>%tmp%\play.vbs
  38. echo diao.url=%music%>>%tmp%\play.vbs
  39. echo wscript.sleep 1200>>%tmp%\play.vbs
  40. echo wscript.sleep diao.currentMedia.duration *1000>>%tmp%\play.vbs
  41. %tmp%\play.vbs
  42. goto end
  43. :play2
  44. del %tmp%\play.vbs
  45. echo set diao=createobject("wmplayer.ocx")>>%tmp%\play.vbs
  46. echo diao.url=%music%>>%tmp%\play.vbs
  47. echo wscript.sleep 1200>>%tmp%\play.vbs
  48. echo wscript.sleep diao.currentMedia.duration *1000>>%tmp%\play.vbs
  49. %tmp%\play.vbs
  50. if %ifmsg%==y goto msgsent
  51. goto end
  52. :msgsent
  53. del %tmp%\m.vbs
  54. cls
  55. echo msgbox"%msg%">>%tmp%\m.vbs
  56. %tmp%\m.vbs
  57. rem 任务完成
  58. :end
  59. if %pw%==s exit
  60. if %pw%==a goto adend
  61. :adend
  62. echo 铃声已播放,请选择退出还是返回
  63. echo 要退出请输入1,要返回请输入2,输入完成请回车
  64. set endset=""
  65. set /p endset=
  66. if %endset%==1 goto adexit
  67. if %endset%==2 goto advanced
  68. :adexit
  69. cls
  70. mode con: cols=35 lines=6
  71. echo.
  72. echo ╭─────────────╮
  73. echo │                          │
  74. echo │  非常感谢您的使用,再见! │
  75. echo │                          │
  76. echo ╰─────────────╯
  77. ping -n 3 0.0.0.0>>%tmp%\5s.tmp
  78. exit
  79. rem 基本版
  80. :starter
  81. set setime=""
  82. set /p setime=请输入闹铃时间并按回车(格式:xx:xx,请根据系统设置选择12小时制或24小时制):
  83. goto systemtime
  84. rem 高级版
  85. :advanced
  86. cls
  87. mode con: cols=86 lines=20
  88. color %waiguan%
  89. if not exist %windir%\nlsetsave\ md %windir%\nlsetsave\
  90. echo ┌────────────────────────────────────────┐
  91. echo │软件设置(r)     设置管理(g)    关于(a)    退出(e)                               │
  92. echo ├────────────────────────────────────────┤
  93. echo                                      当前设置
  94. echo  闹铃时间           %setime%
  95. echo  铃声               %music%
  96. if %ifmsg%==n echo  播放铃声时不会弹出窗口提示您
  97. if %ifmsg%==y echo  播放铃声时将显示的信息 %msg%
  98. echo └────────────────────────────────────────┘
  99. set choice=""
  100. set /p choice=请输入字母并回车以使用对应功能,直接回车将开始计时
  101. if %choice%==r goto nlset
  102. if %choice%==g goto guan
  103. if %choice%==a goto about
  104. if %choice%==e goto adexit
  105. echo 已开始计时,您可以最小化本窗口并做其它事
  106. goto systemtime
  107. rem 闹铃设置
  108. :nlset
  109. cls
  110. echo ┌────────────────────────────────────────┐
  111. echo │闹铃时间设置(t)    铃声设置(f)     提示设置(m)     外观设置(c)     返回主界面(b)│
  112. echo ├────────────────────────────────────────┤
  113. echo                                      当前设置
  114. echo  闹铃时间           %setime%
  115. echo  铃声               %music%
  116. if %ifmsg%==n echo  播放铃声时不会弹出窗口提示您
  117. if %ifmsg%==y echo  播放铃声时将显示的信息 %msg%
  118. echo └────────────────────────────────────────┘
  119. set sch=""
  120. set /p sch=请输入字母并回车以使用对应功能
  121. if %sch%==t goto ts
  122. if %sch%==f goto rs
  123. if %sch%==m goto ms
  124. if %sch%==c goto ws
  125. if %sch%==b goto advanced
  126. :ts
  127. cls
  128. echo ┌────────────────────────────────────────┐
  129. echo │闹铃时间设置                                                                    │
  130. echo ├────────────────────────────────────────┤
  131. echo │请输入闹铃时间并按回车(格式:xx:xx,请根据系统时间设置选择12小时制或24小时制) : │
  132. echo └────────────────────────────────────────┘
  133. set /p setime=
  134. echo  闹铃时间已设置为%setime%
  135. set r1=""
  136. set /p r1=重新设置闹铃时间请输入t,返回软件设置请输入r,返回主界面请输入b
  137. if %r1%==t goto ts
  138. if %r1%==r goto nlset
  139. if %r1%==b goto advanced
  140. :rs
  141. cls
  142. echo ┌────────────────────────────────────────┐
  143. echo │铃声设置                                                                        │
  144. echo ├────────────────────────────────────────┤
  145. echo │请将铃声文件的图标拖入该窗口中,完成后按回车                                    │
  146. echo └────────────────────────────────────────┘
  147. set /p music=
  148. echo  铃声已设置为%music%
  149. set r2=""
  150. set /p r2=重新设置铃声请输入f,返回软件设置请输入r,返回主界面请输入b
  151. if %r2%==f goto rs
  152. if %r2%==r goto nlset
  153. if %r2%==b goto advanced
  154. :ms
  155. cls
  156. echo ┌────────────────────────────────────────┐
  157. echo │提示设置                                                                        │
  158. echo ├────────────────────────────────────────┤
  159. echo │是否在播放铃声时弹出窗口提示您,是请输入y,否请输入n                             │
  160. echo └────────────────────────────────────────┘
  161. set ifmsg=""
  162. set /p ifmsg=
  163. if %ifmsg%==y goto msgset
  164. if %ifmsg%==n goto msgskip
  165. :msgset
  166. cls
  167. echo ┌────────────────────────────────────────┐
  168. echo │提示信息设置                                                                    │
  169. echo ├────────────────────────────────────────┤
  170. echo │请输入要提示的信息                                                              │
  171. echo └────────────────────────────────────────┘
  172. set msg=""
  173. set /p msg=
  174. echo  提示信息已设置为%msg%
  175. goto msgfi
  176. :msgskip
  177. echo 设置成功,在播放铃声时将不会弹出窗口提示您
  178. goto msgfi
  179. :msgfi
  180. set r3=""
  181. set /p r3=重新设置提示信息请输入m,返回软件设置请输入r,返回主界面请输入b
  182. if %r3%==m goto ms
  183. if %r3%==r goto nlset
  184. if %r3%==b goto advanced
  185. :ws
  186. cls
  187. echo ┌────────────────────────────────────────┐
  188. echo │外观设置                                                                        │
  189. echo ├────────────────────────────────────────┤
  190. echo │0 = 黑色       8 = 灰色                                                         │
  191. echo │1 = 蓝色       9 = 淡蓝色                                                       │
  192. echo │2 = 绿色       A = 淡绿色                                                       │
  193. echo │3 = 浅绿色     B = 淡浅绿色                           │
  194. echo │4 = 红色       C = 淡红色                                                       │
  195. echo │5 = 紫色       D = 淡紫色                                                       │
  196. echo │6 = 黄色       E = 淡黄色                                                       │
  197. echo │7 = 白色       F = 亮白色                                                       │
  198. echo └────────────────────────────────────────┘
  199. echo 外观设置
  200. set /p bj=请输入您喜欢的背景颜色所对应的数字或字母:
  201. set /p wz=请输入您喜欢的文字颜色所对应的数字或字母:
  202. set waiguan=%bj%^%wz%
  203. color %waiguan%
  204. echo 外观设置成功
  205. set /p r4=重新设置外观请输入c,返回软件设置请输入r,返回主界面请输入b
  206. if %r4%==c goto ws
  207. if %r4%==r goto nlset
  208. if %r4%==b goto advanced
  209. :guan
  210. cls
  211. echo ┌────────────────────────────────────────┐
  212. echo │设置管理                                                                        │
  213. echo ├────────────────────────────────────────┤
  214. echo │保存当前设置(s)                                                                 │
  215. echo │新建设置(n)                                                                     │
  216. echo │使用已保存的设置(u)                                                             │
  217. echo │重命名已保存的设置(r)                                                           │
  218. echo │删除已保存的设置(d)                                                             │
  219. echo │返回主界面(b)                                                                   │
  220. echo └────────────────────────────────────────┘
  221. set guanc=""
  222. set /p guanc=请输入字母以使用对应功能,完成后回车:
  223. if %guanc%==s goto save
  224. if %guanc%==n goto new
  225. if %guanc%==u goto use
  226. if %guanc%==r goto rename
  227. if %guanc%==d goto del
  228. if %guanc%==b goto advanced
  229. :save
  230. set savename=""
  231. set /p savename=请给当前设置起个名字:
  232. if exist %windir%\nlsetsave\%savename% goto cf
  233. :zzbc
  234. echo 正在保存当前闹铃时间设置...
  235. echo set setime=%setime%>>%windir%\nlsetsave\%savename%
  236. echo 成功!
  237. echo 正在保存当前铃声设置...
  238. echo set music=%music%>>%windir%\nlsetsave\%savename%
  239. echo 成功!
  240. echo 正在保存当前提示设置...
  241. if %ifmsg%==n goto msgno
  242. echo set ifmsg=y>>%windir%\nlsetsave\%savename%
  243. echo set msg=%msg%>>%windir%\nlsetsave\%savename%
  244. echo 成功!
  245. goto gon
  246. :msgno
  247. echo set ifmsg=n>>%windir%\nlsetsave\%savename%
  248. echo 成功!
  249. :gon
  250. echo 正在保存当前外观设置...
  251. echo set waiguan=%waiguan%>>%windir%\nlsetsave\%savename%
  252. echo 成功!
  253. echo 当前设置已成功保存为%savename%,按任意键返回到设置管理
  254. pause>>%tmp%\pause.tmp
  255. goto guan
  256. :cf
  257. cls
  258. echo 已经有一个设置叫%savename%
  259. set ifg=""
  260. set /p ifg=输入f将覆盖已有的%savename%,输入r将重新为当前设置命名:
  261. if %ifg%==r goto save
  262. echo 正在删除原有的%savename%...
  263. del %windir%\nlsetsave\%savename%
  264. echo 成功!
  265. goto zzbc
  266. :new
  267. set newname=""
  268. set /p newname=请给新建设置起个名字:
  269. if exist %windir%\nlsetsave\%newname% goto ncf
  270. set newsetime=""
  271. set /p newsetime=请输入%newname%中的闹铃时间
  272. echo 正在将%newname%的闹铃时间设为%newsetime%...
  273. echo set setime=%newsetime%>>%windir%\nlsetsave\%newname%
  274. echo 成功!
  275. set newmusic=""
  276. set /p newmusic=请将想设置为%newname%铃声的声音文件的图标拖入该窗口中
  277. echo 正在将%newname%的铃声设为%newmusic%...
  278. echo set music=%newmusic%>>%windir%\nlsetsave\%newname%
  279. echo 成功!
  280. set newifmsg=""
  281. set /p newifmsg=是否为%newname%设置提示信息,是请输入y,否请输入n:
  282. if %newifmsg%==n goto newskip
  283. set newmsg=""
  284. set /p newmsg=请输入%newname%中的提示信息
  285. echo 正在将%newname%的提示信息设为%newmsg%...
  286. echo set ifmsg=y>>%windir%\nlsetsave\%newname%
  287. echo set msg=%newmsg%>>%windir%\nlsetsave\%newname%
  288. echo 成功!
  289. goto gogo
  290. :newskip
  291. echo 正在将%newname%设为不提示信息...
  292. echo set ifmsg=n>>%windir%\nlsetsave\%newname%
  293. echo 成功!
  294. :gogo
  295. echo 0 = 黑色       8 = 灰色
  296. echo 1 = 蓝色       9 = 淡蓝色
  297. echo 2 = 绿色       A = 淡绿色
  298. echo 3 = 浅绿色     B = 淡浅绿色
  299. echo 4 = 红色       C = 淡红色
  300. echo 5 = 紫色       D = 淡紫色
  301. echo 6 = 黄色       E = 淡黄色
  302. echo 7 = 白色       F = 亮白色
  303. set newbj=""
  304. set /p newbj=请输入%newname%中背景颜色所对应的数字或字母:
  305. set newwz=""
  306. set /p newwz=请输入%newname%中文字颜色所对应的数字或字母:
  307. set newwaiguan=%newbj%^%newwz%
  308. echo 正在将外观设置保存至%newname%...
  309. echo set waiguan=%newwaiguan%>>%windir%\nlsetsave\%newname%
  310. echo 成功!
  311. echo 已经按您的意愿新建了设置%newname%
  312. set ifuseao=""
  313. set /p ifuseao=是否立即使用%newname%,是请输入y,否请输入n:
  314. if %ifuseao%==y goto atonce
  315. echo 按任意键返回到设置管理
  316. pause>>%tmp%\pause.tmp
  317. :atonce
  318. copy %windir%\nlsetsave\%newname% %tmp%\%newname%.cmd>>%tmp%\copy.tmp
  319. call %tmp%\%newname%.cmd
  320. echo 已将%newname%应用到当前设置,按任意键返回到主界面,新设置将立即生效
  321. pause>>%tmp%\pause.tmp
  322. goto advanced
  323. :use
  324. echo 已保存的设置:
  325. dir /b %windir%\nlsetsave\
  326. set useset=""
  327. set /p useset=请输入要使用的设置的名称:
  328. echo 正在加载%useset%...
  329. copy %windir%\nlsetsave\%useset% %tmp%\%useset%.cmd>>%tmp%\copyuse.tmp
  330. call %tmp%\%useset%.cmd
  331. echo 成功!
  332. echo 已将%useset%应用到当前设置,按任意键返回到主界面,新设置将立即生效
  333. pause>>%tmp%\pause.tmp
  334. goto advanced
  335. :rename
  336. echo 已保存的设置:
  337. dir /b %windir%\nlsetsave\
  338. set oldname=""
  339. set /p oldname=请输入要重命名的设置的名称:
  340. set rename=""
  341. set /p rename=请输入%oldname%的新名称:
  342. echo 正在将%oldname%重命名为%rename%...
  343. ren %windir%\nlsetsave\%oldname% %rename%
  344. echo 成功!
  345. set remsu=""
  346. set /p remsu=要继续重命名其它设置请输入r,要返回设置管理请输入g:
  347. if %remsu%==r goto rename
  348. goto guan
  349. :del
  350. %systemdrive%
  351. cd %windir%\nlsetsave\
  352. echo 已保存的设置:
  353. dir /b %windir%\nlsetsave\
  354. set delset=""
  355. set /p delset=请输入要删除的设置的名称,如果要删除多个设置,请用分号(;)间隔。如果要删除所有设置,请输入星号(*)
  356. echo 正在删除...
  357. del /q %windir%\nlsetsave\%delset%
  358. echo 成功!
  359. set delsu=""
  360. set /p delsu=要继续删除其它设置请输入d,要返回设置管理请输入g:
  361. if %delsu%==d goto del
  362. goto guan
  363. :about
  364. mode con: cols=35 lines=21
  365. cls
  366. echo.
  367. echo         ╭──────╮
  368. echo ╭───┤    关于    ├───╮
  369. echo │      ╰──────╯      │
  370. echo │闹钟                        │
  371. echo │                            │
  372. echo │版本:v1.0                   │
  373. echo │                            │
  374. echo │意见箱:                     │
  375. echo │wangchi470067933@gmail.com  │
  376. echo │wang2_chi2@163.com          │
  377. echo │适用平台:                   │
  378. echo │Windows 2000                │
  379. echo │Windows XP                  │
  380. echo │Windows server 2003         │
  381. echo │                            │
  382. echo │闹钟为开源软件,您可以自由更│
  383. echo │改、传播它。                │
  384. echo ╰──────────────╯
  385. echo 按任意键回到主界面
  386. pause>>%tmp%\pause.tmp
  387. goto advanced
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2