[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] [更新永无止境]Hope计时器

本帖最后由 HOPE2021 于 2021-8-21 15:02 编辑

更新日志
--------------------------------------------------------------------------------------------------
详见117楼

紧急通知
--------------------------------------------------------------------------------------------------
版本 1.0.0004出现重大Bug,请立即暂停使用!
请一定要检查您的电脑配置是否高,否则程序速度将会极慢!
版本 1.0.0009出现重大Bug,请立即暂停使用!
版本 1.0.0010出现重大Bug,请立即暂停使用!
版本 1.0.0011出现重大Bug,请立即暂停使用!
版本 1.0.0013出现重大Bug,请立即暂停使用!

源码[版本 1.0.0001][有冗余,请指正]:
  1. @echo off
  2. endlocal
  3. setlocal enabledelayedexpansion
  4. chcp 936 > nul
  5. Rem By Hope2021
  6. title Hope计时器
  7. mode con cols=68 lines=5
  8. cls
  9. echo.
  10. echo.
  11. echo.                                HOPE
  12. color 0f
  13. call :Vbs_Sleep 1000
  14. call :Sleep_Installs
  15. @goto :Restart
  16. :Restart
  17. title Hope计时器
  18. cls
  19. set H=0
  20. set Min=0
  21. set S=0
  22. set Ms=0
  23. set Ms_2=0
  24. @goto :Main
  25. :Main
  26. title Hope计时器
  27. set Error=0
  28. cls
  29. echo.
  30. echo.    ^>^>当前计时时间:%H%小时%Min%分钟%S%秒
  31. echo.
  32. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时//退出
  33. call :get_key
  34. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  35. if /i "!key!"=="q" (
  36. set /a Ms_2+=3600000
  37. set /a H+=1
  38. )
  39. if /i "!key!"=="w" (
  40. set /a Ms_2-=3600000
  41. set /a H-=1
  42. )
  43. if /i "!key!"=="e" (
  44. set /a Ms_2+=60000
  45. set /a Min+=1
  46. )
  47. if /i "!key!"=="r" (
  48. set /a Ms_2-=60000
  49. set /a Min-=1
  50. )
  51. if /i "!key!"=="t" (
  52. set /a Ms_2+=1000
  53. set /a S+=1
  54. )
  55. if /i "!key!"=="y" (
  56. set /a Ms_2-=1000
  57. set /a S-=1
  58. )
  59. if /i "!key!"=="i" (
  60. exit
  61. )
  62. if /i "!key!"=="u" (
  63. @goto :Start
  64. )
  65. )
  66. for %%i in (%H% %Min% %S%) do (
  67. if %%i Lss 0 (
  68. echo.
  69. echo.    ^>^> 算数错误!
  70. set H=0
  71. set Min=0
  72. set S=0
  73. set Ms=0
  74. set Ms_2=0
  75. call :Vbs_Sleep 100
  76. )
  77. )
  78. if %Ms_2% Gtr 200000000 (
  79. echo.
  80. echo.    ^>^> 算数错误!
  81. set H=0
  82. set Min=0
  83. set S=0
  84. set Ms=0
  85. set Ms_2=0
  86. call :Vbs_Sleep 100
  87. )
  88. if /i "!valid_key!" equ "0" goto :Main
  89. :Error
  90. color 1f
  91. cls
  92. echo.
  93. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  94. echo.
  95. echo.    ^>^> 正在帮您恢复
  96. call :Sleep_Installs
  97. goto :Restart
  98. :Start
  99. set Error=0
  100. cls
  101. if %ms%==10 set /a ms=0
  102. title 计时器[%Ms%/%Ms_2%毫秒]
  103. echo.
  104. echo.    ^>^> %Ms%/%Ms_2%毫秒
  105. echo.
  106. echo.    ^>^> Ctrl+C暂停或退出...
  107. call :Sleep 100
  108. if %Error%==1 goto :Error
  109. set /a Ms+=100
  110. title 计时器[%Ms%/%Ms_2%毫秒]
  111. if %Ms% lss %Ms_2% goto Start
  112. if %Ms% Geq %Ms_2% goto End
  113. :End
  114. cls
  115. color 4e
  116. title Hope计时器 [%Ms%/%Ms_2%毫秒]
  117. Call :Msg "时间到" vbExclamation "Hope计时器"
  118. color 0f
  119. @goto :Restart
  120. :Vbs_Sleep
  121. echo.Wscript.Sleep %1 > Sleep.vbs
  122. call Sleep.vbs > nul
  123. if exist ReturnKey.vbs del ReturnKey.vbs
  124. @goto :eof
  125. :Sleep_Installs
  126. mode con cols=68 lines=5
  127. color 0f
  128. (
  129. echo.-----BEGIN CERTIFICATE-----
  130. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  131. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  132. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  133. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  134. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  135. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  136. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  137. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  138. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  139. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  140. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  141. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  142. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  143. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  144. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  145. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  146. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  147. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  148. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  149. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  150. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  151. echo.AAAAAAAAAAAAAAAAAAAAAA==
  152. echo.-----END CERTIFICATE-----
  153. ) > Sleep.com
  154. Certutil -Decode Sleep.com Sleep.exe > nul
  155. Certutil -Decode -f Sleep.com Sleep.com > nul
  156. goto :eof
  157. :Sleep
  158. set Error=0
  159. if exist Sleep.exe (
  160. Sleep.exe %1
  161. goto :eof
  162. )
  163. if not exist Sleep.exe if exist Sleep.com (
  164. Sleep.com %1
  165. goto :eof
  166. )
  167. if not exist Sleep.exe if not exist Sleep.com (
  168. set Error=1
  169. goto :eof
  170. )
  171. :get_key
  172. rem 用法:call :get_key
  173. set "key="
  174.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  175.   set "key=%key:~-1%"
  176.   set "valid_key=0"
  177. goto :eof
  178. :Msg
  179. Rem 用法: Call :Msg "Text" [buttons] "Title"
  180. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  181. Call ReturnKey.vbs > nul
  182. if exist ReturnKey.vbs del ReturnKey.vbs
  183. goto :eof
复制代码

回复 122# HOPE2021


    正在更改
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 119# cmd1152
既然都不用第三方了还要Certutil干什么?
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

回复 120# HOPE2021


    Oh,srroy.
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 119# cmd1152
版本号...
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

1.0.0038 下半部分
  1. :VisualSet
  2. @echo off
  3. echo X=%~2>>VisualSet.vbs
  4. echo wscript.echo(X)>>VisualSet.vbs
  5. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  6. if exist VisualSet.vbs del VisualSet.vbs
  7. goto :eof
  8. :Echo_Debugging
  9. mode con cols=68 lines=34
  10. cls
  11. echo.
  12. echo.  Hope计时器[调试程序]
  13. set /p Str=--------------------------------------------------------------------<nul
  14. echo.
  15. echo.
  16. @goto :eof
  17. :Task
  18. mode con cols=68 lines=34
  19. Md Tasks >nul 2>nul
  20. cls
  21. title Hope计时器[计划程序][%St_1%-%En_1%]
  22. set Error=0
  23. echo.
  24. echo.  Hope计时器[计划程序]
  25. set /p Str=--------------------------------------------------------------------<nul
  26. echo.
  27. echo.
  28. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  29. echo.
  30. echo.    ^>^> A 上一页     X 下一页
  31. if exist Tasks\*.Htd (
  32. for /l %%i in (%St_1%,1,%En_1%) do if exist Tasks\%%i.Htd goto :Task_2
  33. )
  34. echo.
  35. echo.    ^>^> 当前没有计划
  36. set /p Str=--------------------------------------------------------------------<nul
  37. echo.
  38. echo.
  39. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  40. @goto :Task_3
  41. :Task_2
  42. cd Tasks
  43. echo.
  44. echo.    ^>^> 当前计划列表
  45. set /p Str=--------------------------------------------------------------------<nul
  46. echo.
  47. echo.
  48. for /l %%i in (%St_1%,1,%En_1%) do (
  49. if exist %%i.Htd (
  50. for /f "skip=5" %%j in (%%i.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  51. )
  52. )
  53. cd..
  54. :Task_3
  55. call :get_key
  56. if /i "%key%"=="E" (
  57. @goto :Main
  58. )
  59. if /i "%key%"=="A" (
  60. set /a St_1-=10
  61. set /a En_1-=10
  62. )
  63. if /i "%key%"=="X" (
  64. set /a St_1+=10
  65. set /a En_1+=10
  66. )
  67. if /i "%key%"=="D" (
  68. @goto :Del
  69. )
  70. if /i "%key%"=="R" (
  71. exit
  72. )
  73. if /i "%key%"=="Q" (
  74. @goto :New
  75. )
  76. if /i "%key%"=="W" (
  77. @goto :Open
  78. )
  79. if %St_1% Leq 10000 (
  80. set /a St_1+=10
  81. set /a En_1+=10
  82. )
  83. if /i "%valid_key%" equ "0" @goto :Task
  84. :Open
  85. if exist Tasks\*.Htd (
  86. set "Content= "
  87. set /p Content=    ^>^> 请输入计划编号:
  88. goto Open_2
  89. ) else cd..&@goto :Task
  90. :Del
  91. if exist Tasks\*.Htd (
  92. set "Content= "
  93. set /p Content=    ^>^> 请输入计划编号:
  94. goto Del_2
  95. ) else cd..&@goto :Task
  96. :Del_2
  97. cd Tasks
  98. if exist %Content%.Htd (
  99. del %Content%.Htd
  100. cd..
  101. goto Task
  102. ) else cd..&goto Task
  103. :Open_2
  104. cd Tasks
  105. if exist %Content%.Htd (
  106. call :Read %Content%
  107. cd..
  108. mode con cols=68 lines=5
  109. @goto :Start
  110. ) else cd..&goto Task
  111. :New
  112. cd Tasks
  113. < Htd.Hdat (
  114. set /p Num=
  115. )
  116. set /a Num+=1
  117. echo.%Num% > Htd.Hdat
  118. cd..
  119. echo.
  120. echo.    ^>^> 新建计划:%Num%
  121. echo.
  122. set "Content=时间到!!!"
  123. set /p Content=    ^>^> 备注:
  124. echo.
  125. set "Content=%Content:>=^>%"
  126. set "Content=%Content:<=^<%"
  127. set "Content=%Content:|=^|%"
  128. set "Title= "
  129. set /p Title=    ^>^> 到时提醒:
  130. echo.
  131. set "Title=%Title:>=^^^>%"
  132. set "Title=%Title:<=^^^<%"
  133. set "Title=%Title:|=^^^|%"
  134. set H=0
  135. set Min=0
  136. set S=0
  137. set H_2=0
  138. set Min_2=0
  139. set S_2=0
  140. set Ms=0
  141. set Ms_2=0
  142. call :Vbs_Sleep 1000
  143. @goto :New_2
  144. :Read
  145. < %1.Htd (
  146. set /p H=
  147. set /p Min=
  148. set /p S=
  149. set /p Ms_2=
  150. set /p Title=
  151. set /p Content=
  152. )
  153. @goto :eof
  154. :New_2
  155. cls
  156. echo.
  157. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  158. echo.
  159. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  160. echo.
  161. call :get_key
  162. call :Settings_Time
  163. if /i "%key%"=="U" (
  164. (
  165. echo.%H%
  166. echo.%Min%
  167. echo.%S%
  168. echo.%Ms_2%
  169. echo.%Title%
  170. echo.%Content%
  171. ) > Tasks\%Num%.Htd
  172. @goto :Task
  173. )
  174. if /i "%valid_key%" equ "0" @goto :New_2
  175. :Error
  176. color 1f
  177. cls
  178. echo.
  179. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  180. echo.
  181. echo.    ^>^> 正在帮您恢复
  182. call :Sleep_Installs
  183. goto :Restart
  184. :Start
  185. set Error=0
  186. cls
  187. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  188. echo.
  189. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  190. echo.
  191. echo.    ^>^> Ctrl+C暂停或退出...
  192. call :Sleep %Time%
  193. if %Error%==1 goto :Error
  194. set /a Ms+=100
  195. if %Ms%==1000 set /a S_2+=1&set Ms=0
  196. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  197. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  198. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  199. if /i "%valid_key%" equ "0" goto :Start
  200. :End
  201. cls
  202. color 4e
  203. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  204. Call :Msg "%Title%" vbExclamation "Hope计时器"
  205. color %Color%
  206. @call :Restart
  207. @goto :Main
  208. :Vbs_Sleep
  209. echo.Wscript.Sleep %1 > Sleep.vbs
  210. call Sleep.vbs > nul
  211. if exist ReturnKey.vbs del ReturnKey.vbs
  212. @goto :eof
  213. :Sleep
  214. for /l %%o in (1,1,%timeo%) do (set ppp=)
  215. goto :eof
  216. :get_key
  217. rem 用法:call :get_key
  218. set "key="
  219.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  220.   set "key=%key:~-1%"
  221.   set "valid_key=0"
  222. goto :eof
  223. :Msg
  224. Rem 用法: Call :Msg "Text" [buttons] "Title"
  225. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  226. Call ReturnKey.vbs > nul
  227. if exist ReturnKey.vbs del ReturnKey.vbs
  228. goto :eof
  229. :Settings_Time
  230. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  231. if /i "%key%"=="q" (
  232. set /a Ms_2+=3600000
  233. set /a H+=1
  234. )
  235. if /i "%key%"=="w" (
  236. set /a Ms_2-=3600000
  237. set /a H-=1
  238. )
  239. if /i "%key%"=="e" (
  240. set /a Ms_2+=60000
  241. set /a Min+=1
  242. )
  243. if /i "%key%"=="r" (
  244. set /a Ms_2-=60000
  245. set /a Min-=1
  246. )
  247. if /i "%key%"=="t" (
  248. set /a Ms_2+=1000
  249. set /a S+=1
  250. )
  251. if /i "%key%"=="y" (
  252. set /a Ms_2-=1000
  253. set /a S-=1
  254. )
  255. )
  256. if %S% Lss 0 (
  257. if %Min% Geq 0 if %H% Geq 0 (
  258. set /a Min-=1&set /a S+=60
  259. )
  260. if %Min% Leq 0 if %H% Leq 0 (
  261. echo.
  262. echo.    ^>^> 算数错误!
  263. call :Vbs_Sleep 100
  264. @call :Restart
  265. )
  266. )
  267. if %Min% Lss 0 (
  268. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  269. if %H% Leq 0 (
  270. echo.
  271. echo.    ^>^> 算数错误!
  272. call :Vbs_Sleep 100
  273. @call :Restart
  274. )
  275. )
  276. if %H% Lss 0 (
  277. echo.
  278. echo.    ^>^> 算数错误!
  279. call :Vbs_Sleep 100
  280. @call :Restart
  281. )
  282. if %Ms_2% Gtr 200000000 (
  283. echo.
  284. echo.    ^>^> 算数错误!
  285. call :Vbs_Sleep 100
  286. @call :Restart
  287. )
  288. if %S% Geq 60 set /a Min+=1&set S=0
  289. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 cmd1152 于 2021-8-21 15:17 编辑

1.0.0038 更改sleep代码上半部分
  1. @echo off&goto :Begin
  2. ; Hope Timer [Version 1.0.0038]
  3. ; (C) Copyright 2020-2021 Hope Corp.
  4. ; (C) Copyright 2021-2021 Hope2021&Cmd1152 Corp.
  5. :Begin
  6. md Logs >nul 2>nul
  7. mode con cols=68 lines=5
  8. color f9
  9. endlocal
  10. setlocal disabledelayedexpansion
  11. chcp 936 > nul
  12. Rem By Hope2021
  13. title Hope计时器
  14. cls
  15. echo.
  16. echo.
  17. echo.                                HOPE
  18. echo.
  19. if not exist Logs\Time.ini set Timeo=100
  20. if not exist Logs\Time.ini set sleep=5000
  21. if not exist Logs\Timer.ini set Timer=128
  22. if not exist Logs\Color.ini set Color=0f
  23. if exist Logs\Time.ini (
  24. cd Logs
  25. < Time.ini (
  26. set /p Timeo=
  27. )
  28. cd..
  29. )
  30. if exist Logs\Timer.ini (
  31. cd Logs
  32. < Timer.ini (
  33. set /p Timer=
  34. )
  35. cd..
  36. )
  37. if exist Logs\Color.ini (
  38. cd Logs
  39. < Color.ini (
  40. set /p Color=
  41. )
  42. cd..
  43. )
  44. cls
  45. echo.
  46. echo.                             ----------
  47. echo.                             ---HOPE---
  48. echo.                             ----------
  49. call :For_Sleep
  50. cls
  51. echo.
  52. echo.                              ---------
  53. echo.                              --HOPE---
  54. echo.                             ----Li----
  55. call :For_Sleep
  56. cls
  57. echo.
  58. echo.                               --------
  59. echo.                               -HOPE---
  60. echo.                             --- Lif---
  61. call :For_Sleep
  62. cls
  63. echo.
  64. echo.                                -------
  65. echo.                                HOPE---
  66. echo.                             --r Life--
  67. call :For_Sleep
  68. cls
  69. echo.
  70. echo.                                H------
  71. echo.                                -OPE---
  72. echo.                             -ur Life -
  73. call :For_Sleep
  74. cls
  75. echo.
  76. echo.                                HO-----
  77. echo.                                 -PE---
  78. echo.                             our Life E
  79. call :For_Sleep
  80. cls
  81. echo.
  82. echo.                                HOP----
  83. echo.                                  -E---
  84. echo.                            Your Life Ea
  85. call :For_Sleep
  86. cls
  87. echo.
  88. echo.                                HOPE---
  89. echo.                                   ----
  90. echo.                            Your Life Eas
  91. call :For_Sleep
  92. cls
  93. echo.
  94. echo.                                HOPE --
  95. echo.                                    ---
  96. echo.                          e Your Life Easi
  97. call :For_Sleep
  98. cls
  99. echo.
  100. echo.                                HOPE  -
  101. echo.                                     --
  102. echo.                         ke Your Life Easie
  103. call :For_Sleep
  104. cls
  105. echo.
  106. echo.                                HOPE
  107. echo.                                      -
  108. echo.                        ake Your Life Easier
  109. call :For_Sleep
  110. cls
  111. echo.
  112. echo.                                HOPE
  113. echo.
  114. echo.                       Make Your Life Easier.
  115. call :For_Sleep
  116. call :Vbs_Sleep 1000
  117. @call :Restart
  118. @goto :Main
  119. :Blank
  120. call :Type "# "
  121. @goto :eof
  122. :Type
  123. set /p Str=%~1<nul
  124. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  125. @goto :eof
  126. :For_Sleep
  127. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  128. @goto :eof
  129. :Restart
  130. color %Color%
  131. cls
  132. set H=0
  133. set Min=0
  134. set S=0
  135. set H_2=0
  136. set Min_2=0
  137. set S_2=0
  138. set Ms=0
  139. set Ms_2=0
  140. @goto :eof
  141. :Main
  142. mode con cols=68 lines=11
  143. title Hope计时器
  144. set Error=0
  145. cls
  146. echo.
  147. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  148. echo.
  149. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  150. echo.
  151. echo.  P 打开计划程序  S 删除计划存储  X 调试        F 恢复到调试前
  152. echo.
  153. echo.  Z 风格          D 初始化             C 清除风格和调试
  154. echo.
  155. echo.  L 重新启动
  156. call :get_key
  157. call :Settings_Time
  158. if /i "%key%"=="p" (
  159. set St_1=10001
  160. set En_1=10010
  161. @goto :Task
  162. )
  163. if /i "%key%"=="u" (
  164. mode con cols=68 lines=5
  165. set "Title=时间到!!!"
  166. @goto :Start
  167. )
  168. if /i "%key%"=="z" (
  169. mode con cols=68 lines=34
  170. @goto :Themes
  171. )
  172. if /i "%key%"=="x" (
  173. mode con cols=68 lines=34
  174. @goto :Debugging
  175. )
  176. if /i "%key%"=="l" (
  177. goto :Begin
  178. )
  179. if /i "%key%"=="f" (
  180. del /f /s /q Logs\timer.ini >nul 2>nul
  181. )
  182. if /i "%key%"=="s" (
  183. rd /s /q Tasks >nul 2>nul
  184. )
  185. if /i "%key%"=="d" (
  186. del sleep.com sleep.exe sleep.vbs
  187. rd /s /q Tasks >nul 2>nul
  188. rd /s /q Logs >nul 2>nul
  189. mode con cols=68 lines=5
  190. cls
  191. echo.
  192. echo.
  193. echo.    ^>^> 请按回车键重启本程序...
  194. pause>nul
  195. cls
  196. goto :Begin
  197. )
  198. if /i "%key%"=="i" (
  199. del sleep.com sleep.exe sleep.vbs
  200. exit
  201. )
  202. if /i "%valid_key%" equ "0" goto :Main
  203. :Themes
  204. cd logs
  205. echo.%Color% > Color.ini
  206. echo.%Timer% > Timer.ini
  207. cd..
  208. cls
  209. color %Color%
  210. echo.
  211. echo.  Hope计时器[风格]
  212. set /p Str=--------------------------------------------------------------------<nul
  213. echo.
  214. echo.
  215. echo.  ^>^>^>^> 颜色
  216. set /p Str=--------------------------------------------------------------------<nul
  217. echo.
  218. echo.                                        ^|
  219. echo.    A 经典   B 标准   C 激情   D 复古   ^|  Hope.
  220. echo.                                        ^|
  221. echo.    E 大理岩 F 未来   G 蓝色   H 紫色   ^|  Make Your Life Easier.
  222. echo.                                        ^|
  223. echo.  ^>^>^>^> 开始动画速度
  224. set /p Str=--------------------------------------------------------------------<nul
  225. echo.
  226. echo.                                        ^|why join the navy,
  227. echo.    J 正常   K 快速   L 慢速            ^|if you can be a pirate?
  228. echo.                                        ^|           - Steve Jobs
  229. echo.                                        ^|
  230. echo.  ^>^>^>^> 操作
  231. set /p Str=--------------------------------------------------------------------<nul
  232. echo.
  233. echo.                                        ^|
  234. echo.    M 返回   N 还原默认                 ^|
  235. call :get_key
  236. if /i "%key%"=="a" (
  237. set Color=3f
  238. )
  239. if /i "%key%"=="b" (
  240. set Color=0f
  241. )
  242. if /i "%key%"=="c" (
  243. set Color=4e
  244. )
  245. if /i "%key%"=="d" (
  246. set Color=8f
  247. )
  248. if /i "%key%"=="e" (
  249. set Color=f8
  250. )
  251. if /i "%key%"=="f" (
  252. set Color=0a
  253. )
  254. if /i "%key%"=="g" (
  255. set Color=b1
  256. )
  257. if /i "%key%"=="h" (
  258. set Color=5f
  259. )
  260. if /i "%key%"=="j" (
  261. set Timer=128
  262. )
  263. if /i "%key%"=="k" (
  264. set Timer=32
  265. )
  266. if /i "%key%"=="l" (
  267. set Timer=4096
  268. )
  269. if /i "%key%"=="m" (
  270. goto Main
  271. )
  272. if /i "%key%"=="n" (
  273. cd Logs
  274. del Timer.ini
  275. del Color.ini
  276. cd..
  277. set Timer=128
  278. set Color=0f
  279. )
  280. if /i "%valid_key%" equ "0" goto :Themes
  281. :Rem_Themes
  282. ; A 3F
  283. ; B 0F
  284. ; C 4E
  285. ; D 8F
  286. ; E F8
  287. ; F 0A
  288. ; G B1
  289. ; H 5F
  290. @goto :eof
  291. :Debugging
  292. echo.
  293. call :Echo_Debugging
  294. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  295. echo.
  296. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  297. echo.
  298. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  299. echo.
  300. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  301. echo.
  302. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  303. echo.
  304. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  305. echo.
  306. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  307. pause > nul
  308. mode con cols=68 lines=5
  309. for /l %%i in (1,1,50) do (
  310. cls
  311. echo.
  312. echo.
  313. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  314. call :Sleep 100
  315. )
  316. color 4e
  317. cls
  318. echo.
  319. echo.
  320. echo.    ^>^> 请按回车键开始输入读数
  321. pause > nul
  322. cls
  323. echo.
  324. echo.
  325. set /p Math=    ^>^> 请输入读数:
  326. call :VisualSet Result 5/%Math%
  327. call :VisualSet Result 100*%Result%
  328. Md Logs >nul 2>nul
  329. echo.%Result% > Logs\Time.ini
  330. color %Color%
  331. cls
  332. echo.
  333. echo.
  334. echo.    ^>^> 请按回车键重启本程序...
  335. pause > nul
  336. cls
  337. goto :Begin
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 HOPE2021 于 2021-8-21 15:16 编辑

更新日志
--------------------------------------------------------------------------------------------------
2021-8-11 版本 1.0.0001 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
2021-8-12 版本 1.0.0002 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 改进了不会进位的Bug,在2楼
2021-8-12 版本 1.0.0003 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 改进了计时过程的界面以及工作原理,在3楼
2021-8-12 版本 1.0.0004 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 改进了设定时间的逻辑,在4楼
2021-8-12 版本 1.0.0005 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 改进了设定时间的逻辑,有效防止了小时数大于1小时减秒数是的错误,在8楼
2021-8-12 版本 1.0.0006 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 在计时过程中增加了毫秒显示,在11楼
2021-8-12 版本 1.0.0007 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更改了开始动画的颜色,在12楼
2021-8-12 版本 1.0.0008 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加了计划程序,在14楼
2021-8-12 版本 1.0.0009 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加了计划程序的备注功能,在15楼
2021-8-12 版本 1.0.0010 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更新了无法按键检测的重大Bug,在16楼
2021-8-12 版本 1.0.0011 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更新了计划程序突然跳转的重大Bug,在17楼
2021-8-12 版本 1.0.0012 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 修正了vbs弹出错误弹窗的Bug,在18楼
2021-8-13 版本 1.0.0013 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加了调试功能,减少卡顿,在23-24楼
2021-8-13 版本 1.0.0014 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 将目录跳转错误的问题修复,在32-33楼
2021-8-13 版本 1.0.0015 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 修正了窗口大小出错的Bug,在35-36楼
2021-8-13 版本 1.0.0016 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 新增提醒自定义功能,在39-40楼
2021-8-13 版本 1.0.0017 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加删除计划存储功能,在41-42楼
2021-8-13 版本 1.0.0018 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更改开始动画,在44-45楼
2021-8-13 版本 1.0.0019 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加恢复到调试前的功能,在47-48楼
2021-8-13 版本 1.0.0020 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 调整重启程序,在57-58楼
2021-8-13 版本 1.0.0021 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加版权声明,在59-60楼
2021-8-13 版本 1.0.0022 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更改开始动画,不见了...在XX-XX楼
2021-8-13 版本 1.0.0023 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增减颜色功能[虽然没有办法使用...],在59-60楼
2021-8-13 版本 1.0.0024 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加风格功能,在70-71楼
2021-8-13 版本 1.0.0026 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加了初始化功能,在82-83楼
2021-8-13 版本 1.0.0027 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更改了开始动画,在88-91楼
2021-8-13 版本 1.0.0028 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更改了开始动画,增加翻页功能,在93-94楼
2021-8-14 版本 1.0.0029 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 在97-96楼
2021-8-14 版本 1.0.0030 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 在99-100楼
2021-8-14 版本 1.0.0031 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 在102-103楼
2021-8-14 版本 1.0.0032 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加功能,不见了...在XX-XX楼
2021-8-14 版本 1.0.0033 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更改功能,在108-109楼
2021-8-13 版本 1.0.0034 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 在111-112楼
2021-8-14 版本 1.0.0035 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加功能,不见了...在XX-XX楼
2021-8-12 版本 1.0.0036 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 在113-114楼
2021-8-12 版本 1.0.0037 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 增加了读取特殊字符功能,在]115-116楼
2021-8-12 版本 1.0.0037 兼容性:Window 7 x64 ; Windows 8.x x64 ; Windows 10.x x64
    - 更改计时原理,在118-119楼这不可能是最后版本...向Cmd1152同志致敬!!!
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

版本1.0.0037下半部分
  1. :Task_3
  2. call :get_key
  3. if /i "%key%"=="E" (
  4. @goto :Main
  5. )
  6. if /i "%key%"=="A" (
  7. set /a St_1-=10
  8. set /a En_1-=10
  9. )
  10. if /i "%key%"=="X" (
  11. set /a St_1+=10
  12. set /a En_1+=10
  13. )
  14. if /i "%key%"=="D" (
  15. @goto :Del
  16. )
  17. if /i "%key%"=="R" (
  18. exit
  19. )
  20. if /i "%key%"=="Q" (
  21. @goto :New
  22. )
  23. if /i "%key%"=="W" (
  24. @goto :Open
  25. )
  26. if %St_1% Leq 10000 (
  27. set /a St_1+=10
  28. set /a En_1+=10
  29. )
  30. if /i "%valid_key%" equ "0" @goto :Task
  31. :Open
  32. if exist Tasks\*.Htd (
  33. set "Content= "
  34. set /p Content=    ^>^> 请输入计划编号:
  35. goto Open_2
  36. ) else cd..&@goto :Task
  37. :Del
  38. if exist Tasks\*.Htd (
  39. set "Content= "
  40. set /p Content=    ^>^> 请输入计划编号:
  41. goto Del_2
  42. ) else cd..&@goto :Task
  43. :Del_2
  44. cd Tasks
  45. if exist %Content%.Htd (
  46. del %Content%.Htd
  47. cd..
  48. goto Task
  49. ) else cd..&goto Task
  50. :Open_2
  51. cd Tasks
  52. if exist %Content%.Htd (
  53. call :Read %Content%
  54. cd..
  55. mode con cols=68 lines=5
  56. @goto :Start
  57. ) else cd..&goto Task
  58. :New
  59. cd Tasks
  60. < Htd.Hdat (
  61. set /p Num=
  62. )
  63. set /a Num+=1
  64. echo.%Num% > Htd.Hdat
  65. cd..
  66. echo.
  67. echo.    ^>^> 新建计划:%Num%
  68. echo.
  69. set "Content=时间到!!!"
  70. set /p Content=    ^>^> 备注:
  71. echo.
  72. set "Content=%Content:>=^>%"
  73. set "Content=%Content:<=^<%"
  74. set "Content=%Content:|=^|%"
  75. set "Title= "
  76. set /p Title=    ^>^> 到时提醒:
  77. echo.
  78. set "Title=%Title:>=^^^>%"
  79. set "Title=%Title:<=^^^<%"
  80. set "Title=%Title:|=^^^|%"
  81. set H=0
  82. set Min=0
  83. set S=0
  84. set H_2=0
  85. set Min_2=0
  86. set S_2=0
  87. set Ms=0
  88. set Ms_2=0
  89. call :Vbs_Sleep 1000
  90. @goto :New_2
  91. :Read
  92. < %1.Htd (
  93. set /p H=
  94. set /p Min=
  95. set /p S=
  96. set /p Ms_2=
  97. set /p Title=
  98. set /p Content=
  99. )
  100. @goto :eof
  101. :New_2
  102. cls
  103. echo.
  104. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  105. echo.
  106. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  107. echo.
  108. call :get_key
  109. call :Settings_Time
  110. if /i "%key%"=="U" (
  111. (
  112. echo.%H%
  113. echo.%Min%
  114. echo.%S%
  115. echo.%Ms_2%
  116. echo.%Title%
  117. echo.%Content%
  118. ) > Tasks\%Num%.Htd
  119. @goto :Task
  120. )
  121. if /i "%valid_key%" equ "0" @goto :New_2
  122. :Error
  123. color 1f
  124. cls
  125. echo.
  126. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  127. echo.
  128. echo.    ^>^> 正在帮您恢复
  129. call :Sleep_Installs
  130. goto :Restart
  131. :Start
  132. set Error=0
  133. cls
  134. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  135. echo.
  136. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  137. echo.
  138. echo.    ^>^> Ctrl+C暂停或退出...
  139. call :Sleep %Time%
  140. if %Error%==1 goto :Error
  141. set /a Ms+=100
  142. if %Ms%==1000 set /a S_2+=1&set Ms=0
  143. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  144. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  145. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  146. if /i "%valid_key%" equ "0" goto :Start
  147. :End
  148. cls
  149. color 4e
  150. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  151. Call :Msg "%Title%" vbExclamation "Hope计时器"
  152. color %Color%
  153. @call :Restart
  154. @goto :Main
  155. :Vbs_Sleep
  156. echo.Wscript.Sleep %1 > Sleep.vbs
  157. call Sleep.vbs > nul
  158. if exist ReturnKey.vbs del ReturnKey.vbs
  159. @goto :eof
  160. :Sleep_Installs
  161. (
  162. echo.-----BEGIN CERTIFICATE-----
  163. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  164. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  165. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  166. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  167. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  168. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  169. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  170. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  171. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  172. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  173. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  174. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  175. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  176. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  177. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  178. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  179. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  180. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  181. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  182. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  183. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  184. echo.AAAAAAAAAAAAAAAAAAAAAA==
  185. echo.-----END CERTIFICATE-----
  186. ) > Sleep.com
  187. Certutil -Decode Sleep.com Sleep.exe > nul
  188. Certutil -Decode -f Sleep.com Sleep.com > nul
  189. goto :eof
  190. :Sleep
  191. set Error=0
  192. if exist Sleep.exe (
  193. Sleep.exe %1
  194. goto :eof
  195. )
  196. if not exist Sleep.exe if exist Sleep.com (
  197. Sleep.com %1
  198. goto :eof
  199. )
  200. if not exist Sleep.exe if not exist Sleep.com (
  201. set Error=1
  202. goto :eof
  203. )
  204. :get_key
  205. rem 用法:call :get_key
  206. set "key="
  207.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  208.   set "key=%key:~-1%"
  209.   set "valid_key=0"
  210. goto :eof
  211. :Msg
  212. Rem 用法: Call :Msg "Text" [buttons] "Title"
  213. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  214. Call ReturnKey.vbs > nul
  215. if exist ReturnKey.vbs del ReturnKey.vbs
  216. goto :eof
  217. :Settings_Time
  218. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  219. if /i "%key%"=="q" (
  220. set /a Ms_2+=3600000
  221. set /a H+=1
  222. )
  223. if /i "%key%"=="w" (
  224. set /a Ms_2-=3600000
  225. set /a H-=1
  226. )
  227. if /i "%key%"=="e" (
  228. set /a Ms_2+=60000
  229. set /a Min+=1
  230. )
  231. if /i "%key%"=="r" (
  232. set /a Ms_2-=60000
  233. set /a Min-=1
  234. )
  235. if /i "%key%"=="t" (
  236. set /a Ms_2+=1000
  237. set /a S+=1
  238. )
  239. if /i "%key%"=="y" (
  240. set /a Ms_2-=1000
  241. set /a S-=1
  242. )
  243. )
  244. if %S% Lss 0 (
  245. if %Min% Geq 0 if %H% Geq 0 (
  246. set /a Min-=1&set /a S+=60
  247. )
  248. if %Min% Leq 0 if %H% Leq 0 (
  249. echo.
  250. echo.    ^>^> 算数错误!
  251. call :Vbs_Sleep 100
  252. @call :Restart
  253. )
  254. )
  255. if %Min% Lss 0 (
  256. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  257. if %H% Leq 0 (
  258. echo.
  259. echo.    ^>^> 算数错误!
  260. call :Vbs_Sleep 100
  261. @call :Restart
  262. )
  263. )
  264. if %H% Lss 0 (
  265. echo.
  266. echo.    ^>^> 算数错误!
  267. call :Vbs_Sleep 100
  268. @call :Restart
  269. )
  270. if %Ms_2% Gtr 200000000 (
  271. echo.
  272. echo.    ^>^> 算数错误!
  273. call :Vbs_Sleep 100
  274. @call :Restart
  275. )
  276. if %S% Geq 60 set /a Min+=1&set S=0
  277. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

版本1.0.0037上半部分
  1. @echo off&goto :Begin
  2. ; Hope Timer [Version 1.0.0037]
  3. ; (C) Copyright 2020-2021 Hope Corp.
  4. ; (C) Copyright 2021-2021 Hope2021&Cmd1152 Corp.
  5. :Begin
  6. md Logs >nul 2>nul
  7. mode con cols=68 lines=5
  8. color f9
  9. endlocal
  10. setlocal disabledelayedexpansion
  11. chcp 936 > nul
  12. Rem By Hope2021
  13. title Hope计时器
  14. cls
  15. echo.
  16. echo.
  17. echo.                                HOPE
  18. echo.
  19. call :Sleep_Installs
  20. if not exist Logs\Time.ini set Time=100
  21. if not exist Logs\Timer.ini set Timer=128
  22. if not exist Logs\Color.ini set Color=0f
  23. if exist Logs\Time.ini (
  24. cd Logs
  25. < Time.ini (
  26. set /p Time=
  27. )
  28. cd..
  29. )
  30. if exist Logs\Timer.ini (
  31. cd Logs
  32. < Timer.ini (
  33. set /p Timer=
  34. )
  35. cd..
  36. )
  37. if exist Logs\Color.ini (
  38. cd Logs
  39. < Color.ini (
  40. set /p Color=
  41. )
  42. cd..
  43. )
  44. cls
  45. echo.
  46. echo.                             ----------
  47. echo.                             ---HOPE---
  48. echo.                             ----------
  49. call :For_Sleep
  50. cls
  51. echo.
  52. echo.                              ---------
  53. echo.                              --HOPE---
  54. echo.                             ----Li----
  55. call :For_Sleep
  56. cls
  57. echo.
  58. echo.                               --------
  59. echo.                               -HOPE---
  60. echo.                             --- Lif---
  61. call :For_Sleep
  62. cls
  63. echo.
  64. echo.                                -------
  65. echo.                                HOPE---
  66. echo.                             --r Life--
  67. call :For_Sleep
  68. cls
  69. echo.
  70. echo.                                H------
  71. echo.                                -OPE---
  72. echo.                             -ur Life -
  73. call :For_Sleep
  74. cls
  75. echo.
  76. echo.                                HO-----
  77. echo.                                 -PE---
  78. echo.                             our Life E
  79. call :For_Sleep
  80. cls
  81. echo.
  82. echo.                                HOP----
  83. echo.                                  -E---
  84. echo.                            Your Life Ea
  85. call :For_Sleep
  86. cls
  87. echo.
  88. echo.                                HOPE---
  89. echo.                                   ----
  90. echo.                            Your Life Eas
  91. call :For_Sleep
  92. cls
  93. echo.
  94. echo.                                HOPE --
  95. echo.                                    ---
  96. echo.                          e Your Life Easi
  97. call :For_Sleep
  98. cls
  99. echo.
  100. echo.                                HOPE  -
  101. echo.                                     --
  102. echo.                         ke Your Life Easie
  103. call :For_Sleep
  104. cls
  105. echo.
  106. echo.                                HOPE
  107. echo.                                      -
  108. echo.                        ake Your Life Easier
  109. call :For_Sleep
  110. cls
  111. echo.
  112. echo.                                HOPE
  113. echo.
  114. echo.                       Make Your Life Easier.
  115. call :For_Sleep
  116. call :Vbs_Sleep 1000
  117. call :Sleep_Installs
  118. @call :Restart
  119. @goto :Main
  120. :Blank
  121. call :Type "# "
  122. @goto :eof
  123. :Type
  124. set /p Str=%~1<nul
  125. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  126. @goto :eof
  127. :For_Sleep
  128. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  129. @goto :eof
  130. :Restart
  131. color %Color%
  132. cls
  133. set H=0
  134. set Min=0
  135. set S=0
  136. set H_2=0
  137. set Min_2=0
  138. set S_2=0
  139. set Ms=0
  140. set Ms_2=0
  141. @goto :eof
  142. :Main
  143. mode con cols=68 lines=11
  144. title Hope计时器
  145. set Error=0
  146. cls
  147. echo.
  148. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  149. echo.
  150. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  151. echo.
  152. echo.  P 打开计划程序  S 删除计划存储  X 调试        F 恢复到调试前
  153. echo.
  154. echo.  Z 风格          D 初始化             C 清除风格和调试
  155. echo.
  156. echo.  L 重新启动      O 修复延时程序
  157. call :get_key
  158. call :Settings_Time
  159. if /i "%key%"=="p" (
  160. set St_1=10001
  161. set En_1=10010
  162. @goto :Task
  163. )
  164. if /i "%key%"=="u" (
  165. mode con cols=68 lines=5
  166. set "Title=时间到!!!"
  167. @goto :Start
  168. )
  169. if /i "%key%"=="z" (
  170. mode con cols=68 lines=34
  171. @goto :Themes
  172. )
  173. if /i "%key%"=="x" (
  174. mode con cols=68 lines=34
  175. @goto :Debugging
  176. )
  177. if /i "%key%"=="o" (
  178. call :Sleep_Installs
  179. )
  180. if /i "%key%"=="l" (
  181. goto :Begin
  182. )
  183. if /i "%key%"=="f" (
  184. del /f /s /q Logs\timer.ini >nul 2>nul
  185. )
  186. if /i "%key%"=="s" (
  187. rd /s /q Tasks >nul 2>nul
  188. )
  189. if /i "%key%"=="d" (
  190. del sleep.com sleep.exe sleep.vbs
  191. rd /s /q Tasks >nul 2>nul
  192. rd /s /q Logs >nul 2>nul
  193. mode con cols=68 lines=5
  194. cls
  195. echo.
  196. echo.
  197. echo.    ^>^> 请按回车键重启本程序...
  198. pause>nul
  199. cls
  200. goto :Begin
  201. )
  202. if /i "%key%"=="i" (
  203. del sleep.com sleep.exe sleep.vbs
  204. exit
  205. )
  206. if /i "%valid_key%" equ "0" goto :Main
  207. :Themes
  208. cd logs
  209. echo.%Color% > Color.ini
  210. echo.%Timer% > Timer.ini
  211. cd..
  212. cls
  213. color %Color%
  214. echo.
  215. echo.  Hope计时器[风格]
  216. set /p Str=--------------------------------------------------------------------<nul
  217. echo.
  218. echo.
  219. echo.  ^>^>^>^> 颜色
  220. set /p Str=--------------------------------------------------------------------<nul
  221. echo.
  222. echo.                                        ^|
  223. echo.    A 经典   B 标准   C 激情   D 复古   ^|  Hope.
  224. echo.                                        ^|
  225. echo.    E 大理岩 F 未来   G 蓝色   H 紫色   ^|  Make Your Life Easier.
  226. echo.                                        ^|
  227. echo.  ^>^>^>^> 开始动画速度
  228. set /p Str=--------------------------------------------------------------------<nul
  229. echo.
  230. echo.                                        ^|why join the navy,
  231. echo.    J 正常   K 快速   L 慢速            ^|if you can be a pirate?
  232. echo.                                        ^|           - Steve Jobs
  233. echo.                                        ^|
  234. echo.  ^>^>^>^> 操作
  235. set /p Str=--------------------------------------------------------------------<nul
  236. echo.
  237. echo.                                        ^|
  238. echo.    M 返回   N 还原默认                 ^|
  239. call :get_key
  240. if /i "%key%"=="a" (
  241. set Color=3f
  242. )
  243. if /i "%key%"=="b" (
  244. set Color=0f
  245. )
  246. if /i "%key%"=="c" (
  247. set Color=4e
  248. )
  249. if /i "%key%"=="d" (
  250. set Color=8f
  251. )
  252. if /i "%key%"=="e" (
  253. set Color=f8
  254. )
  255. if /i "%key%"=="f" (
  256. set Color=0a
  257. )
  258. if /i "%key%"=="g" (
  259. set Color=b1
  260. )
  261. if /i "%key%"=="h" (
  262. set Color=5f
  263. )
  264. if /i "%key%"=="j" (
  265. set Timer=128
  266. )
  267. if /i "%key%"=="k" (
  268. set Timer=32
  269. )
  270. if /i "%key%"=="l" (
  271. set Timer=4096
  272. )
  273. if /i "%key%"=="m" (
  274. goto Main
  275. )
  276. if /i "%key%"=="n" (
  277. cd Logs
  278. del Timer.ini
  279. del Color.ini
  280. cd..
  281. set Timer=128
  282. set Color=0f
  283. )
  284. if /i "%valid_key%" equ "0" goto :Themes
  285. :Rem_Themes
  286. ; A 3F
  287. ; B 0F
  288. ; C 4E
  289. ; D 8F
  290. ; E F8
  291. ; F 0A
  292. ; G B1
  293. ; H 5F
  294. @goto :eof
  295. :Debugging
  296. echo.
  297. call :Echo_Debugging
  298. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  299. echo.
  300. echo.    ^>^> 请按回车键开始第一项检查...
  301. echo.
  302. pause > nul
  303. echo.
  304. call :Echo_Debugging
  305. echo.    ^>^> 正在调试 Certutil 性能...
  306. echo.
  307. echo.    ^>^> 请稍等...
  308. echo.
  309. echo.1 > ReturnKey.ini
  310. Certutil -encode ReturnKey.ini Hope.ini > nul
  311. if not exist Hope.ini (
  312. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  313. echo.
  314. echo.    ^>^> 请按回车键退出...
  315. pause > nul
  316. exit
  317. )
  318. if exist ReturnKey.ini del ReturnKey.ini
  319. if exist Hope.ini del Hope.ini
  320. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  321. echo.
  322. echo.    ^>^> 请按回车键继续...
  323. pause > nul
  324. call :Echo_Debugging
  325. echo.    ^>^> 正在安装延时程序,请稍等...
  326. echo.
  327. call :Sleep_Installs
  328. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  329. echo.
  330. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  331. echo.
  332. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  333. echo.
  334. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  335. echo.
  336. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  337. echo.
  338. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  339. echo.
  340. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  341. pause > nul
  342. mode con cols=68 lines=5
  343. for /l %%i in (1,1,50) do (
  344. cls
  345. echo.
  346. echo.
  347. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  348. call :Sleep 100
  349. )
  350. color 4e
  351. cls
  352. echo.
  353. echo.
  354. echo.    ^>^> 请按回车键开始输入读数
  355. pause > nul
  356. cls
  357. echo.
  358. echo.
  359. set /p Math=    ^>^> 请输入读数:
  360. call :VisualSet Result 5/%Math%
  361. call :VisualSet Result 100*%Result%
  362. Md Logs >nul 2>nul
  363. echo.%Result% > Logs\Time.ini
  364. color %Color%
  365. cls
  366. echo.
  367. echo.
  368. echo.    ^>^> 请按回车键重启本程序...
  369. pause > nul
  370. cls
  371. goto :Begin
  372. :VisualSet
  373. @echo off
  374. echo X=%~2>>VisualSet.vbs
  375. echo wscript.echo(X)>>VisualSet.vbs
  376. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  377. if exist VisualSet.vbs del VisualSet.vbs
  378. goto :eof
  379. :Echo_Debugging
  380. mode con cols=68 lines=34
  381. cls
  382. echo.
  383. echo.  Hope计时器[调试程序]
  384. set /p Str=--------------------------------------------------------------------<nul
  385. echo.
  386. echo.
  387. @goto :eof
  388. :Task
  389. mode con cols=68 lines=34
  390. Md Tasks >nul 2>nul
  391. cls
  392. title Hope计时器[计划程序][%St_1%-%En_1%]
  393. set Error=0
  394. echo.
  395. echo.  Hope计时器[计划程序]
  396. set /p Str=--------------------------------------------------------------------<nul
  397. echo.
  398. echo.
  399. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  400. echo.
  401. echo.    ^>^> A 上一页     X 下一页
  402. if exist Tasks\*.Htd (
  403. for /l %%i in (%St_1%,1,%En_1%) do if exist Tasks\%%i.Htd goto :Task_2
  404. )
  405. echo.
  406. echo.    ^>^> 当前没有计划
  407. set /p Str=--------------------------------------------------------------------<nul
  408. echo.
  409. echo.
  410. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  411. @goto :Task_3
  412. :Task_2
  413. cd Tasks
  414. echo.
  415. echo.    ^>^> 当前计划列表
  416. set /p Str=--------------------------------------------------------------------<nul
  417. echo.
  418. echo.
  419. for /l %%i in (%St_1%,1,%En_1%) do (
  420. if exist %%i.Htd (
  421. for /f "skip=5" %%j in (%%i.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  422. )
  423. )
  424. cd..
复制代码
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

1.0.0036 下半部分
  1. :Task
  2. mode con cols=68 lines=34
  3. Md Tasks >nul 2>nul
  4. cls
  5. title Hope计时器[计划程序][%St_1%-%En_1%]
  6. set Error=0
  7. echo.
  8. echo.  Hope计时器[计划程序]
  9. set /p Str=--------------------------------------------------------------------<nul
  10. echo.
  11. echo.
  12. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  13. echo.
  14. echo.    ^>^> A 上一页     X 下一页
  15. if exist Tasks\*.Htd (
  16. for /l %%i in (%St_1%,1,%En_1%) do if exist Tasks\%%i.Htd goto :Task_2
  17. )
  18. echo.
  19. echo.    ^>^> 当前没有计划
  20. set /p Str=--------------------------------------------------------------------<nul
  21. echo.
  22. echo.
  23. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  24. @goto :Task_3
  25. :Task_2
  26. cd Tasks
  27. echo.
  28. echo.    ^>^> 当前计划列表
  29. set /p Str=--------------------------------------------------------------------<nul
  30. echo.
  31. echo.
  32. for /l %%i in (%St_1%,1,%En_1%) do (
  33. if exist %%i.Htd (
  34. for /f "skip=5" %%j in (%%i.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  35. )
  36. )
  37. cd..
  38. :Task_3
  39. call :get_key
  40. if /i "!key!"=="E" (
  41. @goto :Main
  42. )
  43. if /i "!key!"=="A" (
  44. set /a St_1-=10
  45. set /a En_1-=10
  46. )
  47. if /i "!key!"=="X" (
  48. set /a St_1+=10
  49. set /a En_1+=10
  50. )
  51. if /i "!key!"=="D" (
  52. @goto :Del
  53. )
  54. if /i "!key!"=="R" (
  55. exit
  56. )
  57. if /i "!key!"=="Q" (
  58. @goto :New
  59. )
  60. if /i "!key!"=="W" (
  61. @goto :Open
  62. )
  63. if %St_1% Leq 10000 (
  64. set /a St_1+=10
  65. set /a En_1+=10
  66. )
  67. if /i "!valid_key!" equ "0" @goto :Task
  68. :Open
  69. if exist Tasks\*.Htd (
  70. set "Content= "
  71. set /p Content=    ^>^> 请输入计划编号:
  72. goto Open_2
  73. ) else cd..&@goto :Task
  74. :Del
  75. if exist Tasks\*.Htd (
  76. set "Content= "
  77. set /p Content=    ^>^> 请输入计划编号:
  78. goto Del_2
  79. ) else cd..&@goto :Task
  80. :Del_2
  81. cd Tasks
  82. if exist %Content%.Htd (
  83. del %Content%.Htd
  84. cd..
  85. goto Task
  86. ) else cd..&goto Task
  87. :Open_2
  88. cd Tasks
  89. if exist %Content%.Htd (
  90. call :Read %Content%
  91. cd..
  92. mode con cols=68 lines=5
  93. @goto :Start
  94. ) else cd..&goto Task
  95. :New
  96. cd Tasks
  97. < Htd.Hdat (
  98. set /p Num=
  99. )
  100. set /a Num+=1
  101. echo.%Num% > Htd.Hdat
  102. cd..
  103. echo.
  104. echo.    ^>^> 新建计划:%Num%
  105. echo.
  106. set "Content=时间到!!!"
  107. set /p Content=    ^>^> 备注:
  108. echo.
  109. set "Content=%Content:>=^>%"
  110. set "Content=%Content:<=^<%"
  111. set "Content=%Content:|=^|%"
  112. set "Title= "
  113. set /p Title=    ^>^> 到时提醒:
  114. echo.
  115. set "Title=%Title:>=^^^>%"
  116. set "Title=%Title:<=^^^<%"
  117. set "Title=%Title:|=^^^|%"
  118. set H=0
  119. set Min=0
  120. set S=0
  121. set H_2=0
  122. set Min_2=0
  123. set S_2=0
  124. set Ms=0
  125. set Ms_2=0
  126. call :Vbs_Sleep 1000
  127. @goto :New_2
  128. :Read
  129. < %1.Htd (
  130. set /p H=
  131. set /p Min=
  132. set /p S=
  133. set /p Ms_2=
  134. set /p Title=
  135. set /p Content=
  136. )
  137. @goto :eof
  138. :New_2
  139. cls
  140. echo.
  141. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  142. echo.
  143. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  144. echo.
  145. call :get_key
  146. call :Settings_Time
  147. if /i "!key!"=="U" (
  148. (
  149. echo.%H%
  150. echo.%Min%
  151. echo.%S%
  152. echo.%Ms_2%
  153. echo.%Title%
  154. echo.%Content%
  155. ) > Tasks\%Num%.Htd
  156. @goto :Task
  157. )
  158. if /i "!valid_key!" equ "0" @goto :New_2
  159. :Error
  160. color 1f
  161. cls
  162. echo.
  163. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  164. echo.
  165. echo.    ^>^> 正在帮您恢复
  166. call :Sleep_Installs
  167. goto :Restart
  168. :Start
  169. set Error=0
  170. cls
  171. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  172. echo.
  173. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  174. echo.
  175. echo.    ^>^> Ctrl+C暂停或退出...
  176. call :Sleep %Time%
  177. if %Error%==1 goto :Error
  178. set /a Ms+=100
  179. if %Ms%==1000 set /a S_2+=1&set Ms=0
  180. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  181. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  182. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  183. if /i "!valid_key!" equ "0" goto :Start
  184. :End
  185. cls
  186. color 4e
  187. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  188. Call :Msg "%Title%" vbExclamation "Hope计时器"
  189. color %Color%
  190. @call :Restart
  191. @goto :Main
  192. :Vbs_Sleep
  193. echo.Wscript.Sleep %1 > Sleep.vbs
  194. call Sleep.vbs > nul
  195. if exist ReturnKey.vbs del ReturnKey.vbs
  196. @goto :eof
  197. :Sleep_Installs
  198. (
  199. echo.-----BEGIN CERTIFICATE-----
  200. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  201. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  202. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  203. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  204. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  205. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  206. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  207. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  208. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  209. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  210. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  211. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  212. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  213. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  214. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  215. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  216. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  217. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  218. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  219. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  220. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  221. echo.AAAAAAAAAAAAAAAAAAAAAA==
  222. echo.-----END CERTIFICATE-----
  223. ) > Sleep.com
  224. Certutil -Decode Sleep.com Sleep.exe > nul
  225. Certutil -Decode -f Sleep.com Sleep.com > nul
  226. goto :eof
  227. :Sleep
  228. set Error=0
  229. if exist Sleep.exe (
  230. Sleep.exe %1
  231. goto :eof
  232. )
  233. if not exist Sleep.exe if exist Sleep.com (
  234. Sleep.com %1
  235. goto :eof
  236. )
  237. if not exist Sleep.exe if not exist Sleep.com (
  238. set Error=1
  239. goto :eof
  240. )
  241. :get_key
  242. rem 用法:call :get_key
  243. set "key="
  244.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  245.   set "key=%key:~-1%"
  246.   set "valid_key=0"
  247. goto :eof
  248. :Msg
  249. Rem 用法: Call :Msg "Text" [buttons] "Title"
  250. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  251. Call ReturnKey.vbs > nul
  252. if exist ReturnKey.vbs del ReturnKey.vbs
  253. goto :eof
  254. :Settings_Time
  255. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  256. if /i "!key!"=="q" (
  257. set /a Ms_2+=3600000
  258. set /a H+=1
  259. )
  260. if /i "!key!"=="w" (
  261. set /a Ms_2-=3600000
  262. set /a H-=1
  263. )
  264. if /i "!key!"=="e" (
  265. set /a Ms_2+=60000
  266. set /a Min+=1
  267. )
  268. if /i "!key!"=="r" (
  269. set /a Ms_2-=60000
  270. set /a Min-=1
  271. )
  272. if /i "!key!"=="t" (
  273. set /a Ms_2+=1000
  274. set /a S+=1
  275. )
  276. if /i "!key!"=="y" (
  277. set /a Ms_2-=1000
  278. set /a S-=1
  279. )
  280. )
  281. if %S% Lss 0 (
  282. if %Min% Geq 0 if %H% Geq 0 (
  283. set /a Min-=1&set /a S+=60
  284. )
  285. if %Min% Leq 0 if %H% Leq 0 (
  286. echo.
  287. echo.    ^>^> 算数错误!
  288. call :Vbs_Sleep 100
  289. @call :Restart
  290. )
  291. )
  292. if %Min% Lss 0 (
  293. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  294. if %H% Leq 0 (
  295. echo.
  296. echo.    ^>^> 算数错误!
  297. call :Vbs_Sleep 100
  298. @call :Restart
  299. )
  300. )
  301. if %H% Lss 0 (
  302. echo.
  303. echo.    ^>^> 算数错误!
  304. call :Vbs_Sleep 100
  305. @call :Restart
  306. )
  307. if %Ms_2% Gtr 200000000 (
  308. echo.
  309. echo.    ^>^> 算数错误!
  310. call :Vbs_Sleep 100
  311. @call :Restart
  312. )
  313. if %S% Geq 60 set /a Min+=1&set S=0
  314. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码
(我先去写作业了^_^)
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

1.0.0036 1.0.0035增加1个功能:重新启动,1.0.0036又增加一个功能:修复延时程序上半部分
  1. @echo off&goto :Begin
  2. ; Hope Timer [Version 1.0.0024]
  3. ; (C) Copyright 2020-2021 Hope Corp.
  4. ; (C) Copyright 2021-2021 Hope2021&Cmd1152 Corp.
  5. :Begin
  6. md Logs >nul 2>nul
  7. mode con cols=68 lines=5
  8. color f9
  9. endlocal
  10. setlocal enabledelayedexpansion
  11. chcp 936 > nul
  12. Rem By Hope2021
  13. title Hope计时器
  14. cls
  15. echo.
  16. echo.
  17. echo.                                HOPE
  18. echo.
  19. call :Sleep_Installs
  20. if not exist Logs\Time.ini set Time=100
  21. if not exist Logs\Timer.ini set Timer=128
  22. if not exist Logs\Color.ini set Color=0f
  23. if exist Logs\Time.ini (
  24. cd Logs
  25. < Time.ini (
  26. set /p Time=
  27. )
  28. cd..
  29. )
  30. if exist Logs\Timer.ini (
  31. cd Logs
  32. < Timer.ini (
  33. set /p Timer=
  34. )
  35. cd..
  36. )
  37. if exist Logs\Color.ini (
  38. cd Logs
  39. < Color.ini (
  40. set /p Color=
  41. )
  42. cd..
  43. )
  44. cls
  45. echo.
  46. echo.                             ----------
  47. echo.                             ---HOPE---
  48. echo.                             ----------
  49. call :djs
  50. cls
  51. echo.
  52. echo.                              ---------
  53. echo.                              --HOPE---
  54. echo.                             ----Li----
  55. call :djs
  56. cls
  57. echo.
  58. echo.                               --------
  59. echo.                               -HOPE---
  60. echo.                             --- Lif---
  61. call :djs
  62. cls
  63. echo.
  64. echo.                                -------
  65. echo.                                HOPE---
  66. echo.                             --r Life--
  67. call :djs
  68. cls
  69. echo.
  70. echo.                                H------
  71. echo.                                -OPE---
  72. echo.                             -ur Life -
  73. call :djs
  74. cls
  75. echo.
  76. echo.                                HO-----
  77. echo.                                 -PE---
  78. echo.                             our Life E
  79. call :djs
  80. cls
  81. echo.
  82. echo.                                HOP----
  83. echo.                                  -E---
  84. echo.                            Your Life Ea
  85. call :djs
  86. cls
  87. echo.
  88. echo.                                HOPE---
  89. echo.                                   ----
  90. echo.                            Your Life Eas
  91. call :djs
  92. cls
  93. echo.
  94. echo.                                HOPE --
  95. echo.                                    ---
  96. echo.                          e Your Life Easi
  97. call :djs
  98. cls
  99. echo.
  100. echo.                                HOPE  -
  101. echo.                                     --
  102. echo.                         ke Your Life Easie
  103. call :djs
  104. cls
  105. echo.
  106. echo.                                HOPE
  107. echo.                                      -
  108. echo.                        ake Your Life Easier
  109. call :djs
  110. cls
  111. echo.
  112. echo.                                HOPE
  113. echo.
  114. echo.                       Make Your Life Easier.
  115. call :djs
  116. call :Vbs_Sleep 1000
  117. call :Sleep_Installs
  118. @call :Restart
  119. @goto :Main
  120. :Blank
  121. call :Type "# "
  122. @goto :eof
  123. :Type
  124. set /p Str=%~1<nul
  125. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  126. @goto :eof
  127. :Djs
  128. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  129. @goto :eof
  130. :Restart
  131. color %Color%
  132. cls
  133. set H=0
  134. set Min=0
  135. set S=0
  136. set H_2=0
  137. set Min_2=0
  138. set S_2=0
  139. set Ms=0
  140. set Ms_2=0
  141. @goto :eof
  142. :Main
  143. mode con cols=68 lines=11
  144. title Hope计时器
  145. set Error=0
  146. cls
  147. echo.
  148. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  149. echo.
  150. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  151. echo.
  152. echo.  P 打开计划程序  S 删除计划存储  X 调试        F 恢复到调试前
  153. echo.
  154. echo.  Z 风格          D 初始化             C 清除风格和调试
  155. echo.
  156. echo.  L 重新启动      O 修复延时程序
  157. call :get_key
  158. call :Settings_Time
  159. if /i "!key!"=="p" (
  160. set St_1=10001
  161. set En_1=10010
  162. @goto :Task
  163. )
  164. if /i "!key!"=="u" (
  165. mode con cols=68 lines=5
  166. set "Title=时间到!!!"
  167. @goto :Start
  168. )
  169. if /i "!key!"=="z" (
  170. mode con cols=68 lines=34
  171. @goto :Themes
  172. )
  173. if /i "!key!"=="x" (
  174. mode con cols=68 lines=34
  175. @goto :Debugging
  176. )
  177. if /i "!key!"=="o" (
  178. call :Sleep_Installs
  179. )
  180. if /i "!key!"=="l" (
  181. goto :Begin
  182. )
  183. if /i "!key!"=="f" (
  184. del /f /s /q Logs\timer.ini >nul 2>nul
  185. )
  186. if /i "!key!"=="s" (
  187. rd /s /q Tasks >nul 2>nul
  188. )
  189. if /i "!key!"=="d" (
  190. del sleep.com sleep.exe sleep.vbs
  191. rd /s /q Tasks >nul 2>nul
  192. rd /s /q Logs >nul 2>nul
  193. mode con cols=68 lines=5
  194. cls
  195. echo.
  196. echo.
  197. echo.    ^>^> 请按回车键重启本程序...
  198. pause>nul
  199. cls
  200. goto :Begin
  201. )
  202. if /i "!key!"=="i" (
  203. del sleep.com sleep.exe sleep.vbs
  204. exit
  205. )
  206. if /i "!valid_key!" equ "0" goto :Main
  207. :Themes
  208. cd logs
  209. echo.%Color% > Color.ini
  210. echo.%Timer% > Timer.ini
  211. cd..
  212. cls
  213. color %Color%
  214. echo.
  215. echo.  Hope计时器[风格]
  216. set /p Str=--------------------------------------------------------------------<nul
  217. echo.
  218. echo.
  219. echo.  ^>^>^>^> 颜色
  220. set /p Str=--------------------------------------------------------------------<nul
  221. echo.
  222. echo.                                        ^|
  223. echo.    A 经典   B 标准   C 激情   D 复古   ^|  Hope.
  224. echo.                                        ^|
  225. echo.    E 大理岩 F 未来   G 蓝色   H 紫色   ^|  Make Your Life Easier.
  226. echo.                                        ^|
  227. echo.  ^>^>^>^> 开始动画速度
  228. set /p Str=--------------------------------------------------------------------<nul
  229. echo.
  230. echo.                                        ^|why join the navy,
  231. echo.    J 正常   K 快速   L 慢速            ^|if you can be a pirate?
  232. echo.                                        ^|           - Steve Jobs
  233. echo.                                        ^|
  234. echo.  ^>^>^>^> 操作
  235. set /p Str=--------------------------------------------------------------------<nul
  236. echo.
  237. echo.                                        ^|
  238. echo.    M 返回   N 还原默认                 ^|
  239. call :get_key
  240. if /i "!key!"=="a" (
  241. set Color=3f
  242. )
  243. if /i "!key!"=="b" (
  244. set Color=0f
  245. )
  246. if /i "!key!"=="c" (
  247. set Color=4e
  248. )
  249. if /i "!key!"=="d" (
  250. set Color=8f
  251. )
  252. if /i "!key!"=="e" (
  253. set Color=f8
  254. )
  255. if /i "!key!"=="f" (
  256. set Color=0a
  257. )
  258. if /i "!key!"=="g" (
  259. set Color=b1
  260. )
  261. if /i "!key!"=="h" (
  262. set Color=5f
  263. )
  264. if /i "!key!"=="j" (
  265. set Timer=128
  266. )
  267. if /i "!key!"=="k" (
  268. set Timer=32
  269. )
  270. if /i "!key!"=="l" (
  271. set Timer=512
  272. )
  273. if /i "!key!"=="m" (
  274. goto Main
  275. )
  276. if /i "!key!"=="n" (
  277. cd Logs
  278. del Timer.ini
  279. del Color.ini
  280. cd..
  281. set Timer=128
  282. set Color=0f
  283. )
  284. if /i "!valid_key!" equ "0" goto :Themes
  285. :Rem_Themes
  286. ; A 3F
  287. ; B 0F
  288. ; C 4E
  289. ; D 8F
  290. ; E F8
  291. ; F 0A
  292. ; G B1
  293. ; H 5F
  294. @goto :eof
  295. :Debugging
  296. echo.
  297. call :Echo_Debugging
  298. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  299. echo.
  300. echo.    ^>^> 请按回车键开始第一项检查...
  301. echo.
  302. pause > nul
  303. echo.
  304. call :Echo_Debugging
  305. echo.    ^>^> 正在调试 Certutil 性能...
  306. echo.
  307. echo.    ^>^> 请稍等...
  308. echo.
  309. echo.1 > ReturnKey.ini
  310. Certutil -encode ReturnKey.ini Hope.ini > nul
  311. if not exist Hope.ini (
  312. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  313. echo.
  314. echo.    ^>^> 请按回车键退出...
  315. pause > nul
  316. exit
  317. )
  318. if exist ReturnKey.ini del ReturnKey.ini
  319. if exist Hope.ini del Hope.ini
  320. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  321. echo.
  322. echo.    ^>^> 请按回车键继续...
  323. pause > nul
  324. call :Echo_Debugging
  325. echo.    ^>^> 正在安装延时程序,请稍等...
  326. echo.
  327. call :Sleep_Installs
  328. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  329. echo.
  330. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  331. echo.
  332. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  333. echo.
  334. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  335. echo.
  336. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  337. echo.
  338. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  339. echo.
  340. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  341. pause > nul
  342. mode con cols=68 lines=5
  343. for /l %%i in (1,1,50) do (
  344. cls
  345. echo.
  346. echo.
  347. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  348. call :Sleep 100
  349. )
  350. color 4e
  351. cls
  352. echo.
  353. echo.
  354. echo.    ^>^> 请按回车键开始输入读数
  355. pause > nul
  356. cls
  357. echo.
  358. echo.
  359. set /p Math=    ^>^> 请输入读数:
  360. call :VisualSet Result 5/%Math%
  361. call :VisualSet Result 100*%Result%
  362. Md Logs >nul 2>nul
  363. echo.%Result% > Logs\Time.ini
  364. color %Color%
  365. cls
  366. echo.
  367. echo.
  368. echo.    ^>^> 请按回车键重启本程序...
  369. pause > nul
  370. cls
  371. goto :Begin
  372. :VisualSet
  373. @echo off
  374. echo X=%~2>>VisualSet.vbs
  375. echo wscript.echo(X)>>VisualSet.vbs
  376. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  377. if exist VisualSet.vbs del VisualSet.vbs
  378. goto :eof
  379. :Echo_Debugging
  380. mode con cols=68 lines=34
  381. cls
  382. echo.
  383. echo.  Hope计时器[调试程序]
  384. set /p Str=--------------------------------------------------------------------<nul
  385. echo.
  386. echo.
  387. @goto :eof
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

1.0.0034 下半部分
  1. :Task_2
  2. cd Tasks
  3. echo.
  4. echo.    ^>^> 当前计划列表
  5. set /p Str=--------------------------------------------------------------------<nul
  6. echo.
  7. echo.
  8. for /l %%i in (%St_1%,1,%En_1%) do (
  9. if exist %%i.Htd (
  10. for /f "skip=5" %%j in (%%i.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  11. )
  12. )
  13. cd..
  14. :Task_3
  15. call :get_key
  16. if /i "!key!"=="E" (
  17. @goto :Main
  18. )
  19. if /i "!key!"=="A" (
  20. set /a St_1-=10
  21. set /a En_1-=10
  22. )
  23. if /i "!key!"=="X" (
  24. set /a St_1+=10
  25. set /a En_1+=10
  26. )
  27. if /i "!key!"=="D" (
  28. @goto :Del
  29. )
  30. if /i "!key!"=="R" (
  31. exit
  32. )
  33. if /i "!key!"=="Q" (
  34. @goto :New
  35. )
  36. if /i "!key!"=="W" (
  37. @goto :Open
  38. )
  39. if %St_1% Leq 10000 (
  40. set /a St_1+=10
  41. set /a En_1+=10
  42. )
  43. if /i "!valid_key!" equ "0" @goto :Task
  44. :Open
  45. if exist Tasks\*.Htd (
  46. set "Content= "
  47. set /p Content=    ^>^> 请输入计划编号:
  48. goto Open_2
  49. ) else cd..&@goto :Task
  50. :Del
  51. if exist Tasks\*.Htd (
  52. set "Content= "
  53. set /p Content=    ^>^> 请输入计划编号:
  54. goto Del_2
  55. ) else cd..&@goto :Task
  56. :Del_2
  57. cd Tasks
  58. if exist %Content%.Htd (
  59. del %Content%.Htd
  60. cd..
  61. goto Task
  62. ) else cd..&goto Task
  63. :Open_2
  64. cd Tasks
  65. if exist %Content%.Htd (
  66. call :Read %Content%
  67. cd..
  68. mode con cols=68 lines=5
  69. @goto :Start
  70. ) else cd..&goto Task
  71. :New
  72. cd Tasks
  73. < Htd.Hdat (
  74. set /p Num=
  75. )
  76. set /a Num+=1
  77. echo.%Num% > Htd.Hdat
  78. cd..
  79. echo.
  80. echo.    ^>^> 新建计划:%Num%
  81. echo.
  82. set "Content=时间到!!!"
  83. set /p Content=    ^>^> 备注:
  84. echo.
  85. set "Content=%Content:>=^>%"
  86. set "Content=%Content:<=^<%"
  87. set "Content=%Content:|=^|%"
  88. set "Title= "
  89. set /p Title=    ^>^> 到时提醒:
  90. echo.
  91. set "Title=%Title:>=^^^>%"
  92. set "Title=%Title:<=^^^<%"
  93. set "Title=%Title:|=^^^|%"
  94. set H=0
  95. set Min=0
  96. set S=0
  97. set H_2=0
  98. set Min_2=0
  99. set S_2=0
  100. set Ms=0
  101. set Ms_2=0
  102. call :Vbs_Sleep 1000
  103. @goto :New_2
  104. :Read
  105. < %1.Htd (
  106. set /p H=
  107. set /p Min=
  108. set /p S=
  109. set /p Ms_2=
  110. set /p Title=
  111. set /p Content=
  112. )
  113. @goto :eof
  114. :New_2
  115. cls
  116. echo.
  117. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  118. echo.
  119. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  120. echo.
  121. call :get_key
  122. call :Settings_Time
  123. if /i "!key!"=="U" (
  124. (
  125. echo.%H%
  126. echo.%Min%
  127. echo.%S%
  128. echo.%Ms_2%
  129. echo.%Title%
  130. echo.%Content%
  131. ) > Tasks\%Num%.Htd
  132. @goto :Task
  133. )
  134. if /i "!valid_key!" equ "0" @goto :New_2
  135. :Error
  136. color 1f
  137. cls
  138. echo.
  139. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  140. echo.
  141. echo.    ^>^> 正在帮您恢复
  142. call :Sleep_Installs
  143. goto :Restart
  144. :Start
  145. set Error=0
  146. cls
  147. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  148. echo.
  149. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  150. echo.
  151. echo.    ^>^> Ctrl+C暂停或退出...
  152. call :Sleep %Time%
  153. if %Error%==1 goto :Error
  154. set /a Ms+=100
  155. if %Ms%==1000 set /a S_2+=1&set Ms=0
  156. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  157. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  158. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  159. if /i "!valid_key!" equ "0" goto :Start
  160. :End
  161. cls
  162. color 4e
  163. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  164. Call :Msg "%Title%" vbExclamation "Hope计时器"
  165. color %Color%
  166. @call :Restart
  167. @goto :Main
  168. :Vbs_Sleep
  169. echo.Wscript.Sleep %1 > Sleep.vbs
  170. call Sleep.vbs > nul
  171. if exist ReturnKey.vbs del ReturnKey.vbs
  172. @goto :eof
  173. :Sleep_Installs
  174. (
  175. echo.-----BEGIN CERTIFICATE-----
  176. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  177. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  178. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  179. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  180. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  181. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  182. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  183. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  184. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  185. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  186. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  187. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  188. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  189. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  190. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  191. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  192. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  193. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  194. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  195. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  196. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  197. echo.AAAAAAAAAAAAAAAAAAAAAA==
  198. echo.-----END CERTIFICATE-----
  199. ) > Sleep.com
  200. Certutil -Decode Sleep.com Sleep.exe > nul
  201. Certutil -Decode -f Sleep.com Sleep.com > nul
  202. goto :eof
  203. :Sleep
  204. set Error=0
  205. if exist Sleep.exe (
  206. Sleep.exe %1
  207. goto :eof
  208. )
  209. if not exist Sleep.exe if exist Sleep.com (
  210. Sleep.com %1
  211. goto :eof
  212. )
  213. if not exist Sleep.exe if not exist Sleep.com (
  214. set Error=1
  215. goto :eof
  216. )
  217. :get_key
  218. rem 用法:call :get_key
  219. set "key="
  220.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  221.   set "key=%key:~-1%"
  222.   set "valid_key=0"
  223. goto :eof
  224. :Msg
  225. Rem 用法: Call :Msg "Text" [buttons] "Title"
  226. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  227. Call ReturnKey.vbs > nul
  228. if exist ReturnKey.vbs del ReturnKey.vbs
  229. goto :eof
  230. :Settings_Time
  231. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  232. if /i "!key!"=="q" (
  233. set /a Ms_2+=3600000
  234. set /a H+=1
  235. )
  236. if /i "!key!"=="w" (
  237. set /a Ms_2-=3600000
  238. set /a H-=1
  239. )
  240. if /i "!key!"=="e" (
  241. set /a Ms_2+=60000
  242. set /a Min+=1
  243. )
  244. if /i "!key!"=="r" (
  245. set /a Ms_2-=60000
  246. set /a Min-=1
  247. )
  248. if /i "!key!"=="t" (
  249. set /a Ms_2+=1000
  250. set /a S+=1
  251. )
  252. if /i "!key!"=="y" (
  253. set /a Ms_2-=1000
  254. set /a S-=1
  255. )
  256. )
  257. if %S% Lss 0 (
  258. if %Min% Geq 0 if %H% Geq 0 (
  259. set /a Min-=1&set /a S+=60
  260. )
  261. if %Min% Leq 0 if %H% Leq 0 (
  262. echo.
  263. echo.    ^>^> 算数错误!
  264. call :Vbs_Sleep 100
  265. @call :Restart
  266. )
  267. )
  268. if %Min% Lss 0 (
  269. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  270. if %H% Leq 0 (
  271. echo.
  272. echo.    ^>^> 算数错误!
  273. call :Vbs_Sleep 100
  274. @call :Restart
  275. )
  276. )
  277. if %H% Lss 0 (
  278. echo.
  279. echo.    ^>^> 算数错误!
  280. call :Vbs_Sleep 100
  281. @call :Restart
  282. )
  283. if %Ms_2% Gtr 200000000 (
  284. echo.
  285. echo.    ^>^> 算数错误!
  286. call :Vbs_Sleep 100
  287. @call :Restart
  288. )
  289. if %S% Geq 60 set /a Min+=1&set S=0
  290. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

1.0.0034修复设置出错上半部分
  1. @echo off&goto :Begin
  2. ; Hope Timer [Version 1.0.0024]
  3. ; (C) Copyright 2020-2021 Hope Corp.
  4. ; (C) Copyright 2021-2021 Hope2021&Cmd1152 Corp.
  5. :Begin
  6. md Logs >nul 2>nul
  7. mode con cols=68 lines=5
  8. color f9
  9. endlocal
  10. setlocal enabledelayedexpansion
  11. chcp 936 > nul
  12. Rem By Hope2021
  13. title Hope计时器
  14. cls
  15. echo.
  16. echo.
  17. echo.                                HOPE
  18. echo.
  19. call :Sleep_Installs
  20. if not exist Logs\Time.ini set Time=100
  21. if not exist Logs\Timer.ini set Timer=128
  22. if not exist Logs\Color.ini set Color=0f
  23. if exist Logs\Time.ini (
  24. cd Logs
  25. < Time.ini (
  26. set /p Time=
  27. )
  28. cd..
  29. )
  30. if exist Logs\Timer.ini (
  31. cd Logs
  32. < Timer.ini (
  33. set /p Timer=
  34. )
  35. cd..
  36. )
  37. if exist Logs\Color.ini (
  38. cd Logs
  39. < Color.ini (
  40. set /p Color=
  41. )
  42. cd..
  43. )
  44. cls
  45. echo.
  46. echo.                             ----------
  47. echo.                             ---HOPE---
  48. echo.                             ----------
  49. call :djs
  50. cls
  51. echo.
  52. echo.                              ---------
  53. echo.                              --HOPE---
  54. echo.                             ----Li----
  55. call :djs
  56. cls
  57. echo.
  58. echo.                               --------
  59. echo.                               -HOPE---
  60. echo.                             --- Lif---
  61. call :djs
  62. cls
  63. echo.
  64. echo.                                -------
  65. echo.                                HOPE---
  66. echo.                             --r Life--
  67. call :djs
  68. cls
  69. echo.
  70. echo.                                H------
  71. echo.                                -OPE---
  72. echo.                             -ur Life -
  73. call :djs
  74. cls
  75. echo.
  76. echo.                                HO-----
  77. echo.                                 -PE---
  78. echo.                             our Life E
  79. call :djs
  80. cls
  81. echo.
  82. echo.                                HOP----
  83. echo.                                  -E---
  84. echo.                            Your Life Ea
  85. call :djs
  86. cls
  87. echo.
  88. echo.                                HOPE---
  89. echo.                                   ----
  90. echo.                            Your Life Eas
  91. call :djs
  92. cls
  93. echo.
  94. echo.                                HOPE --
  95. echo.                                    ---
  96. echo.                          e Your Life Easi
  97. call :djs
  98. cls
  99. echo.
  100. echo.                                HOPE  -
  101. echo.                                     --
  102. echo.                         ke Your Life Easie
  103. call :djs
  104. cls
  105. echo.
  106. echo.                                HOPE
  107. echo.                                      -
  108. echo.                        ake Your Life Easier
  109. call :djs
  110. cls
  111. echo.
  112. echo.                                HOPE
  113. echo.
  114. echo.                       Make Your Life Easier.
  115. call :djs
  116. call :Vbs_Sleep 1000
  117. call :Sleep_Installs
  118. @call :Restart
  119. @goto :Main
  120. :Blank
  121. call :Type "# "
  122. @goto :eof
  123. :Type
  124. set /p Str=%~1<nul
  125. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  126. @goto :eof
  127. :Djs
  128. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  129. @goto :eof
  130. :Restart
  131. color %Color%
  132. cls
  133. set H=0
  134. set Min=0
  135. set S=0
  136. set H_2=0
  137. set Min_2=0
  138. set S_2=0
  139. set Ms=0
  140. set Ms_2=0
  141. @goto :eof
  142. :Main
  143. mode con cols=68 lines=9
  144. title Hope计时器
  145. set Error=0
  146. cls
  147. echo.
  148. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  149. echo.
  150. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  151. echo.
  152. echo.  P 打开计划程序  S 删除计划存储  X 调试        F 恢复到调试前
  153. echo.
  154. echo.  Z 风格          D 初始化             C 清除风格和调试
  155. call :get_key
  156. call :Settings_Time
  157. if /i "!key!"=="p" (
  158. set St_1=10001
  159. set En_1=10010
  160. @goto :Task
  161. )
  162. if /i "!key!"=="u" (
  163. mode con cols=68 lines=5
  164. set "Title=时间到!!!"
  165. @goto :Start
  166. )
  167. if /i "!key!"=="z" (
  168. mode con cols=68 lines=34
  169. @goto :Themes
  170. )
  171. if /i "!key!"=="x" (
  172. mode con cols=68 lines=34
  173. @goto :Debugging
  174. )
  175. if /i "!key!"=="f" (
  176. del /f /s /q Logs\timer.ini >nul 2>nul
  177. )
  178. if /i "!key!"=="s" (
  179. rd /s /q Tasks >nul 2>nul
  180. )
  181. if /i "!key!"=="d" (
  182. del sleep.com sleep.exe sleep.vbs
  183. rd /s /q Tasks >nul 2>nul
  184. rd /s /q Logs >nul 2>nul
  185. mode con cols=68 lines=5
  186. cls
  187. echo.
  188. echo.
  189. echo.    ^>^> 请按回车键重启本程序...
  190. pause>nul
  191. cls
  192. goto :Begin
  193. )
  194. if /i "!key!"=="i" (
  195. del sleep.com sleep.exe sleep.vbs
  196. exit
  197. )
  198. if /i "!valid_key!" equ "0" goto :Main
  199. :Themes
  200. cd logs
  201. echo.%Color% > Color.ini
  202. echo.%Timer% > Timer.ini
  203. cd..
  204. cls
  205. color %Color%
  206. echo.
  207. echo.  Hope计时器[风格]
  208. set /p Str=--------------------------------------------------------------------<nul
  209. echo.
  210. echo.
  211. echo.  ^>^>^>^> 颜色
  212. set /p Str=--------------------------------------------------------------------<nul
  213. echo.
  214. echo.                                        ^|
  215. echo.    A 经典   B 标准   C 激情   D 复古   ^|  Hope.
  216. echo.                                        ^|
  217. echo.    E 大理岩 F 未来   G 蓝色   H 紫色   ^|  Make Your Life Easier.
  218. echo.                                        ^|
  219. echo.  ^>^>^>^> 开始动画速度
  220. set /p Str=--------------------------------------------------------------------<nul
  221. echo.
  222. echo.                                        ^|why join the navy,
  223. echo.    J 正常   K 快速   L 慢速            ^|if you can be a pirate?
  224. echo.                                        ^|           - Steve Jobs
  225. echo.                                        ^|
  226. echo.  ^>^>^>^> 操作
  227. set /p Str=--------------------------------------------------------------------<nul
  228. echo.
  229. echo.                                        ^|
  230. echo.    M 返回   N 还原默认                 ^|
  231. call :get_key
  232. if /i "!key!"=="a" (
  233. set Color=3f
  234. )
  235. if /i "!key!"=="b" (
  236. set Color=0f
  237. )
  238. if /i "!key!"=="c" (
  239. set Color=4e
  240. )
  241. if /i "!key!"=="d" (
  242. set Color=8f
  243. )
  244. if /i "!key!"=="e" (
  245. set Color=f8
  246. )
  247. if /i "!key!"=="f" (
  248. set Color=0a
  249. )
  250. if /i "!key!"=="g" (
  251. set Color=b1
  252. )
  253. if /i "!key!"=="h" (
  254. set Color=5f
  255. )
  256. if /i "!key!"=="j" (
  257. set Timer=128
  258. )
  259. if /i "!key!"=="k" (
  260. set Timer=32
  261. )
  262. if /i "!key!"=="l" (
  263. set Timer=512
  264. )
  265. if /i "!key!"=="m" (
  266. goto Main
  267. )
  268. if /i "!key!"=="n" (
  269. cd Logs
  270. del Timer.ini
  271. del Color.ini
  272. cd..
  273. set Timer=128
  274. set Color=0f
  275. )
  276. if /i "!valid_key!" equ "0" goto :Themes
  277. :Rem_Themes
  278. ; A 3F
  279. ; B 0F
  280. ; C 4E
  281. ; D 8F
  282. ; E F8
  283. ; F 0A
  284. ; G B1
  285. ; H 5F
  286. @goto :eof
  287. :Debugging
  288. echo.
  289. call :Echo_Debugging
  290. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  291. echo.
  292. echo.    ^>^> 请按回车键开始第一项检查...
  293. echo.
  294. pause > nul
  295. echo.
  296. call :Echo_Debugging
  297. echo.    ^>^> 正在调试 Certutil 性能...
  298. echo.
  299. echo.    ^>^> 请稍等...
  300. echo.
  301. echo.1 > ReturnKey.ini
  302. Certutil -encode ReturnKey.ini Hope.ini > nul
  303. if not exist Hope.ini (
  304. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  305. echo.
  306. echo.    ^>^> 请按回车键退出...
  307. pause > nul
  308. exit
  309. )
  310. if exist ReturnKey.ini del ReturnKey.ini
  311. if exist Hope.ini del Hope.ini
  312. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  313. echo.
  314. echo.    ^>^> 请按回车键继续...
  315. pause > nul
  316. call :Echo_Debugging
  317. echo.    ^>^> 正在安装延时程序,请稍等...
  318. echo.
  319. call :Sleep_Installs
  320. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  321. echo.
  322. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  323. echo.
  324. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  325. echo.
  326. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  327. echo.
  328. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  329. echo.
  330. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  331. echo.
  332. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  333. pause > nul
  334. mode con cols=68 lines=5
  335. for /l %%i in (1,1,50) do (
  336. cls
  337. echo.
  338. echo.
  339. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  340. call :Sleep 100
  341. )
  342. color 4e
  343. cls
  344. echo.
  345. echo.
  346. echo.    ^>^> 请按回车键开始输入读数
  347. pause > nul
  348. cls
  349. echo.
  350. echo.
  351. set /p Math=    ^>^> 请输入读数:
  352. call :VisualSet Result 5/%Math%
  353. call :VisualSet Result 100*%Result%
  354. Md Logs >nul 2>nul
  355. echo.%Result% > Logs\Time.ini
  356. color %Color%
  357. cls
  358. echo.
  359. echo.
  360. echo.    ^>^> 请按回车键重启本程序...
  361. pause > nul
  362. cls
  363. goto :Begin
  364. :VisualSet
  365. @echo off
  366. echo X=%~2>>VisualSet.vbs
  367. echo wscript.echo(X)>>VisualSet.vbs
  368. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  369. if exist VisualSet.vbs del VisualSet.vbs
  370. goto :eof
  371. :Echo_Debugging
  372. mode con cols=68 lines=34
  373. cls
  374. echo.
  375. echo.  Hope计时器[调试程序]
  376. set /p Str=--------------------------------------------------------------------<nul
  377. echo.
  378. echo.
  379. @goto :eof
  380. :Task
  381. mode con cols=68 lines=34
  382. Md Tasks >nul 2>nul
  383. cls
  384. title Hope计时器[计划程序][%St_1%-%En_1%]
  385. set Error=0
  386. echo.
  387. echo.  Hope计时器[计划程序]
  388. set /p Str=--------------------------------------------------------------------<nul
  389. echo.
  390. echo.
  391. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  392. echo.
  393. echo.    ^>^> A 上一页     X 下一页
  394. if exist Tasks\*.Htd (
  395. for /l %%i in (%St_1%,1,%En_1%) do if exist Tasks\%%i.Htd goto :Task_2
  396. )
  397. echo.
  398. echo.    ^>^> 当前没有计划
  399. set /p Str=--------------------------------------------------------------------<nul
  400. echo.
  401. echo.
  402. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  403. @goto :Task_3
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 107# HOPE2021


    1.0.0033
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

返回列表