Board logo

标题: [日期时间] [更新永无止境]Hope计时器 [打印本页]

作者: HOPE2021    时间: 2021-8-11 20:45     标题: [更新永无止境]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
复制代码

作者: HOPE2021    时间: 2021-8-12 08:42

本帖最后由 HOPE2021 于 2021-8-12 08:43 编辑

版本1.0.0002
  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. if %S% Geq 60 set /a Min+=1&set S=0
  67. if %Min% Geq 60 set /a H+=1&set Min=0
  68. for %%i in (%H% %Min% %S%) do (
  69. if %%i Lss 0 (
  70. echo.
  71. echo.    ^>^> 算数错误!
  72. set H=0
  73. set Min=0
  74. set S=0
  75. set Ms=0
  76. set Ms_2=0
  77. call :Vbs_Sleep 100
  78. )
  79. )
  80. if %Ms_2% Gtr 200000000 (
  81. echo.
  82. echo.    ^>^> 算数错误!
  83. set H=0
  84. set Min=0
  85. set S=0
  86. set Ms=0
  87. set Ms_2=0
  88. call :Vbs_Sleep 100
  89. )
  90. if /i "!valid_key!" equ "0" goto :Main
  91. :Error
  92. color 1f
  93. cls
  94. echo.
  95. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  96. echo.
  97. echo.    ^>^> 正在帮您恢复
  98. call :Sleep_Installs
  99. goto :Restart
  100. :Start
  101. set Error=0
  102. cls
  103. if %ms%==10 set /a ms=0
  104. title 计时器[%Ms%/%Ms_2%毫秒]
  105. echo.
  106. echo.    ^>^> %Ms%/%Ms_2%毫秒
  107. echo.
  108. echo.    ^>^> Ctrl+C暂停或退出...
  109. call :Sleep 100
  110. if %Error%==1 goto :Error
  111. set /a Ms+=100
  112. title 计时器[%Ms%/%Ms_2%毫秒]
  113. if %Ms% lss %Ms_2% goto Start
  114. if %Ms% Geq %Ms_2% goto End
  115. :End
  116. cls
  117. color 4e
  118. title Hope计时器 [%Ms%/%Ms_2%毫秒]
  119. Call :Msg "时间到" vbExclamation "Hope计时器"
  120. color 0f
  121. @goto :Restart
  122. :Vbs_Sleep
  123. echo.Wscript.Sleep %1 > Sleep.vbs
  124. call Sleep.vbs > nul
  125. if exist ReturnKey.vbs del ReturnKey.vbs
  126. @goto :eof
  127. :Sleep_Installs
  128. mode con cols=68 lines=5
  129. color 0f
  130. (
  131. echo.-----BEGIN CERTIFICATE-----
  132. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  133. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  134. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  135. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  136. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  137. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  138. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  139. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  140. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  141. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  142. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  143. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  144. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  145. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  146. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  147. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  148. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  149. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  150. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  151. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  152. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  153. echo.AAAAAAAAAAAAAAAAAAAAAA==
  154. echo.-----END CERTIFICATE-----
  155. ) > Sleep.com
  156. Certutil -Decode Sleep.com Sleep.exe > nul
  157. Certutil -Decode -f Sleep.com Sleep.com > nul
  158. goto :eof
  159. :Sleep
  160. set Error=0
  161. if exist Sleep.exe (
  162. Sleep.exe %1
  163. goto :eof
  164. )
  165. if not exist Sleep.exe if exist Sleep.com (
  166. Sleep.com %1
  167. goto :eof
  168. )
  169. if not exist Sleep.exe if not exist Sleep.com (
  170. set Error=1
  171. goto :eof
  172. )
  173. :get_key
  174. rem 用法:call :get_key
  175. set "key="
  176.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  177.   set "key=%key:~-1%"
  178.   set "valid_key=0"
  179. goto :eof
  180. :Msg
  181. Rem 用法: Call :Msg "Text" [buttons] "Title"
  182. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  183. Call ReturnKey.vbs > nul
  184. if exist ReturnKey.vbs del ReturnKey.vbs
  185. goto :eof
复制代码

作者: HOPE2021    时间: 2021-8-12 09:05

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

作者: HOPE2021    时间: 2021-8-12 09:28

本帖最后由 HOPE2021 于 2021-8-12 10:06 编辑

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

作者: HOPE2021    时间: 2021-8-12 09:48

此Sleep非彼Sleep
作者: HOPE2021    时间: 2021-8-12 09:49

这里使用的Sleep最低延时20Ms
作者: HOPE2021    时间: 2021-8-12 09:52

曾经写的一个动画
  1. @echo off
  2. call :Sleep_Installs
  3. set N1=     ■■■    ■■■       ■■■       ■■■■■■■    ■■■■■■■
  4. set N2=       ■        ■       ■      ■       ■         ■     ■          ■
  5. set N3=       ■        ■     ■          ■     ■          ■    ■
  6. set N4=       ■        ■    ■            ■    ■         ■     ■     ■
  7. set N5=       ■■■■■■    ■            ■    ■■■■■■      ■■■■
  8. set N6=       ■        ■    ■            ■    ■                ■     ■
  9. set N7=       ■        ■     ■          ■     ■                ■
  10. set N8=       ■        ■       ■      ■       ■                ■          ■
  11. set N9=     ■■■    ■■■       ■■■       ■■■            ■■■■■■■
  12. Mode Con: Cols=80 Lines=30
  13. Rem Hope Text Art 片头
  14. call :Echo
  15. call :Sleep 20
  16. set "N1=%N1:■=回%"
  17. call :Echo
  18. call :Sleep 20
  19. set "N2=%N2:■=回%"
  20. call :Echo
  21. call :Sleep 20
  22. set "N3=%N3:■=回%"
  23. call :Echo
  24. call :Sleep 20
  25. set "N4=%N4:■=回%"
  26. call :Echo
  27. call :Sleep 20
  28. set "N5=%N5:■=回%"
  29. call :Echo
  30. call :Sleep 20
  31. set "N6=%N6:■=回%"
  32. call :Echo
  33. call :Sleep 20
  34. set "N7=%N7:■=回%"
  35. call :Echo
  36. call :Sleep 20
  37. set "N8=%N8:■=回%"
  38. call :Echo
  39. call :Sleep 20
  40. set "N9=%N9:■=回%"
  41. call :Echo
  42. call :Sleep 20
  43. set "N1=%N1:回=@%"
  44. call :Echo
  45. call :Sleep 20
  46. set "N2=%N2:回=@%"
  47. call :Echo
  48. call :Sleep 20
  49. set "N3=%N3:回=@%"
  50. call :Echo
  51. call :Sleep 20
  52. set "N4=%N4:回=@%"
  53. call :Echo
  54. call :Sleep 20
  55. set "N5=%N5:回=@%"
  56. call :Echo
  57. call :Sleep 20
  58. set "N6=%N6:回=@%"
  59. call :Echo
  60. call :Sleep 20
  61. set "N7=%N7:回=@%"
  62. call :Echo
  63. call :Sleep 20
  64. set "N8=%N8:回=@%"
  65. call :Echo
  66. call :Sleep 20
  67. set "N9=%N9:回=@%"
  68. call :Echo
  69. call :Sleep 20
  70. set "N1=%N1:@=∷%"
  71. call :Echo
  72. call :Sleep 20
  73. set "N2=%N2:@=∷%"
  74. call :Echo
  75. call :Sleep 20
  76. set "N3=%N3:@=∷%"
  77. call :Echo
  78. call :Sleep 20
  79. set "N4=%N4:@=∷%"
  80. call :Echo
  81. call :Sleep 20
  82. set "N5=%N5:@=∷%"
  83. call :Echo
  84. call :Sleep 20
  85. set "N6=%N6:@=∷%"
  86. call :Echo
  87. call :Sleep 20
  88. set "N7=%N7:@=∷%"
  89. call :Echo
  90. call :Sleep 20
  91. set "N8=%N8:@=∷%"
  92. call :Echo
  93. call :Sleep 20
  94. set "N9=%N9:@=∷%"
  95. call :Echo
  96. call :Sleep 20
  97. set "N1=%N1:∷=□%"
  98. call :Echo
  99. call :Sleep 20
  100. set "N2=%N2:∷=□%"
  101. call :Echo
  102. call :Sleep 20
  103. set "N3=%N3:∷=□%"
  104. call :Echo
  105. call :Sleep 20
  106. set "N4=%N4:∷=□%"
  107. call :Echo
  108. call :Sleep 20
  109. set "N5=%N5:∷=□%"
  110. call :Echo
  111. call :Sleep 20
  112. set "N6=%N6:∷=□%"
  113. call :Echo
  114. call :Sleep 20
  115. set "N7=%N7:∷=□%"
  116. call :Echo
  117. call :Sleep 20
  118. set "N8=%N8:∷=□%"
  119. call :Echo
  120. call :Sleep 20
  121. set "N9=%N9:∷=□%"
  122. call :Echo
  123. call :Sleep 20
  124. set "N1=%N1:□=_/%"
  125. call :Echo
  126. call :Sleep 20
  127. set "N2=%N2:□=_/%"
  128. call :Echo
  129. call :Sleep 20
  130. set "N3=%N3:□=_/%"
  131. call :Echo
  132. call :Sleep 20
  133. set "N4=%N4:□=_/%"
  134. call :Echo
  135. call :Sleep 20
  136. set "N5=%N5:□=_/%"
  137. call :Echo
  138. call :Sleep 20
  139. set "N6=%N6:□=_/%"
  140. call :Echo
  141. call :Sleep 20
  142. set "N7=%N7:□=_/%"
  143. call :Echo
  144. call :Sleep 20
  145. set "N8=%N8:□=_/%"
  146. call :Echo
  147. call :Sleep 20
  148. set "N9=%N9:□=_/%"
  149. call :Echo
  150. call :Sleep 20
  151. set "N1=%N1:_/=  %"
  152. call :Echo
  153. call :Sleep 20
  154. set "N2=%N2:_/=  %"
  155. call :Echo
  156. call :Sleep 20
  157. set "N3=%N3:_/=  %"
  158. call :Echo
  159. call :Sleep 20
  160. set "N4=%N4:_/=  %"
  161. call :Echo
  162. call :Sleep 20
  163. set "N5=%N5:_/=  %"
  164. call :Echo
  165. call :Sleep 20
  166. set "N6=%N6:_/=  %"
  167. call :Echo
  168. call :Sleep 20
  169. set "N7=%N7:_/=  %"
  170. call :Echo
  171. call :Sleep 20
  172. set "N8=%N8:_/=  %"
  173. call :Echo
  174. call :Sleep 20
  175. set "N9=%N9:_/=  %"
  176. call :Echo_2
  177. call :Sleep 20
  178. pause>nul
  179. :Echo
  180. color 1f
  181. Mode Con: Cols=80 Lines=30
  182. cls
  183. for /l %%i in (1,1,8) do echo.
  184. echo.%N1%
  185. echo.%N2%
  186. echo.%N3%
  187. echo.%N4%
  188. echo.%N5%
  189. echo.%N6%
  190. echo.%N7%
  191. echo.%N8%
  192. echo.%N9%
  193. for /l %%i in (1,1,5) do echo.
  194. echo.                                      HOPE
  195. goto :eof
  196. :Echo_2
  197. color 1f
  198. Mode Con: Cols=80 Lines=30
  199. cls
  200. for /l %%i in (1,1,8) do echo.
  201. echo.%N1%
  202. echo.%N2%
  203. echo.%N3%
  204. echo.%N4%
  205. echo.%N5%
  206. echo.%N6%
  207. echo.%N7%
  208. echo.%N8%
  209. echo.%N9%
  210. goto :eof
  211. :Sleep_Installs
  212. (
  213. echo.-----BEGIN CERTIFICATE-----
  214. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  215. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  216. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  217. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  218. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  219. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  220. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  221. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  222. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  223. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  224. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  225. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  226. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  227. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  228. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  229. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  230. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  231. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  232. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  233. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  234. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  235. echo.AAAAAAAAAAAAAAAAAAAAAA==
  236. echo.-----END CERTIFICATE-----
  237. ) > Sleep.com
  238. Certutil -Decode Sleep.com Sleep.exe > nul
  239. Certutil -Decode -f Sleep.com Sleep.com > nul
  240. goto :eof
  241. :Sleep
  242. if exist Sleep.exe (
  243. Sleep.exe %1
  244. goto :eof
  245. )
  246. if not exist Sleep.exe if exist Sleep.com (
  247. Sleep.com %1
  248. goto :eof
  249. )
  250. if not exist Sleep.exe if not exist Sleep.com (
  251. echo.Wscript.Sleep %1 > Sleep.vbs
  252. cscript //nologo Sleep.vbs
  253. goto :eof
  254. )
复制代码

作者: HOPE2021    时间: 2021-8-12 10:10

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

作者: cmd1152    时间: 2021-8-12 10:27

回复 8# HOPE2021


    特别卡
    点我查看视频
作者: HOPE2021    时间: 2021-8-12 10:29

回复 9# cmd1152
看上去是特别卡,实际上每秒运行十次,下一个版本加上毫秒
作者: HOPE2021    时间: 2021-8-12 10:31

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

作者: HOPE2021    时间: 2021-8-12 11:03

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

作者: HOPE2021    时间: 2021-8-12 11:25

您的视频我看过了,在我的电脑上并不卡。
BATHOMEPNG\Hope计时器录像.rar
作者: HOPE2021    时间: 2021-8-12 16:42

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

作者: HOPE2021    时间: 2021-8-12 17:11

本帖最后由 HOPE2021 于 2021-8-13 10:51 编辑

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

作者: HOPE2021    时间: 2021-8-12 17:17

本帖最后由 HOPE2021 于 2021-8-13 10:51 编辑

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

作者: HOPE2021    时间: 2021-8-12 17:23

本帖最后由 HOPE2021 于 2021-8-13 10:51 编辑

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

作者: HOPE2021    时间: 2021-8-12 17:38

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

作者: cmd1152    时间: 2021-8-12 20:00

回复 18# HOPE2021


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

作者: HOPE2021    时间: 2021-8-12 20:16

版本1.0.0013是怎么回事?
作者: cmd1152    时间: 2021-8-12 21:18

回复 20# HOPE2021


    优化退出时不清除临时文件
作者: HOPE2021    时间: 2021-8-12 21:31

回复 21# cmd1152
rd /s /q Tasks >nul 2>nul

Tasks 是计划程序的存储目录,删除了还要计划程序干什么?[这样还不如用1.0.0007]
作者: HOPE2021    时间: 2021-8-13 10:04

本帖最后由 HOPE2021 于 2021-8-13 11:10 编辑

有重大谬误,请停止使用!
官方版本1.0.0013上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. )
  9. mode con cols=68 lines=5
  10. color f9
  11. endlocal
  12. setlocal enabledelayedexpansion
  13. chcp 936 > nul
  14. Rem By Hope2021
  15. title Hope计时器
  16. cls
  17. echo.
  18. echo.
  19. echo.                                HOPE
  20. call :Vbs_Sleep 1000
  21. call :Sleep_Installs
  22. @call :Restart
  23. @goto :Main
  24. :Restart
  25. color 0f
  26. cls
  27. set H=0
  28. set Min=0
  29. set S=0
  30. set H_2=0
  31. set Min_2=0
  32. set S_2=0
  33. set Ms=0
  34. set Ms_2=0
  35. @goto :eof
  36. :Main
  37. mode con cols=68 lines=7
  38. title Hope计时器
  39. set Error=0
  40. cls
  41. echo.
  42. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  43. echo.
  44. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时//退出
  45. echo.
  46. echo.  P 打开计划程序  X 调试
  47. call :get_key
  48. call :Settings_Time
  49. if /i "!key!"=="P" (
  50. set St_1=10001
  51. set En_1=10010
  52. @goto :Task
  53. )
  54. if /i "!key!"=="u" (
  55. mode con cols=68 lines=5
  56. @goto :Start
  57. )
  58. if /i "!key!"=="x" (
  59. mode con cols=68 lines=34
  60. @goto :Debugging
  61. )
  62. if /i "!key!"=="i" (
  63. exit
  64. )
  65. if /i "!valid_key!" equ "0" goto :Main
  66. :Debugging
  67. echo.
  68. call :Echo_Debugging
  69. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  70. echo.
  71. echo.    ^>^> 请按回车键开始第一项检查...
  72. echo.
  73. pause > nul
  74. echo.
  75. call :Echo_Debugging
  76. echo.    ^>^> 正在调试 Certutil 性能...
  77. echo.
  78. echo.    ^>^> 请稍等...
  79. echo.
  80. echo.1 > ReturnKey.ini
  81. Certutil -encode ReturnKey.ini Hope.ini > nul
  82. if not exist Hope.ini (
  83. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  84. echo.
  85. echo.    ^>^> 请按回车键退出...
  86. pause > nul
  87. exit
  88. )
  89. if exist ReturnKey.ini del ReturnKey.ini
  90. if exist Hope.ini del Hope.ini
  91. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  92. echo.
  93. echo.    ^>^> 请按回车键继续...
  94. pause > nul
  95. call :Echo_Debugging
  96. echo.    ^>^> 正在安装延时程序,请稍等...
  97. echo.
  98. call :Sleep_Installs
  99. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  100. echo.
  101. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  102. echo.
  103. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  104. echo.
  105. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  106. echo.
  107. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  108. echo.
  109. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  110. echo.
  111. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  112. pause > nul
  113. mode con cols=68 lines=5
  114. for /l %%i in (1,1,50) do (
  115. cls
  116. echo.
  117. echo.
  118. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  119. call :Sleep 100
  120. )
  121. color 4e
  122. cls
  123. echo.
  124. echo.
  125. echo.    ^>^> 请按回车键开始输入读数
  126. pause > nul
  127. cls
  128. echo.
  129. echo.
  130. set /p Math=    ^>^> 请输入读数:
  131. call :VisualSet Result 5/%Math%
  132. call :VisualSet Result 100*%Result%
  133. Md Logs >nul 2>nul
  134. echo.%Result% > Logs\Time.ini
  135. color 0f
  136. cls
  137. echo.
  138. echo.
  139. echo.    ^>^> 请按回车键退出本程序, 退出后, 请您重启本程序...
  140. pause > nul
  141. exit
  142. :VisualSet
  143. @echo off
  144. echo X=%~2>>VisualSet.vbs
  145. echo wscript.echo(X)>>VisualSet.vbs
  146. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  147. if exist VisualSet.vbs del VisualSet.vbs
  148. goto :eof
  149. :Echo_Debugging
  150. mode con cols=68 lines=34
  151. cls
  152. echo.
  153. echo.  Hope计时器[调试程序]
  154. set /p Str=--------------------------------------------------------------------<nul
  155. echo.
  156. echo.
  157. @goto :eof
复制代码

作者: HOPE2021    时间: 2021-8-13 10:05

本帖最后由 HOPE2021 于 2021-8-13 11:10 编辑

有重大谬误,请停止使用!
官方版本1.0.0013下半部分
  1. :Task
  2. Md Tasks >nul 2>nul
  3. cls
  4. title Hope计时器[计划程序]
  5. set Error=0
  6. echo.
  7. echo.  Hope计时器[计划程序]
  8. set /p Str=--------------------------------------------------------------------<nul
  9. echo.
  10. echo.
  11. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  12. if not exist Tasks\*.Htd (
  13. echo.
  14. echo.    ^>^> 当前没有计划
  15. set /p Str=--------------------------------------------------------------------<nul
  16. echo.
  17. echo.
  18. )
  19. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  20. if exist Tasks\*.Htd (
  21. cd Tasks
  22. echo.
  23. echo.    ^>^> 当前计划列表
  24. set /p Str=--------------------------------------------------------------------<nul
  25. echo.
  26. echo.
  27. for /f %%i in ('dir /b *.Htd') do (
  28. for /f "skip=4" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  29. )
  30. echo.
  31. cd..
  32. )
  33. )
  34. call :get_key
  35. if /i "!key!"=="E" (
  36. @goto :Main
  37. )
  38. if /i "!key!"=="D" (
  39. @goto :Del
  40. )
  41. if /i "!key!"=="R" (
  42. exit
  43. )
  44. if /i "!key!"=="Q" (
  45. @goto :New
  46. )
  47. if /i "!key!"=="W" (
  48. @goto :Open
  49. )
  50. if /i "!valid_key!" equ "0" @goto :Task
  51. :Open
  52. if exist Tasks\*.Htd (
  53. set "Content= "
  54. set /p Content=    ^>^> 请输入计划编号:
  55. goto Open_2
  56. ) else cd..&@goto :Task
  57. :Del
  58. if exist Tasks\*.Htd (
  59. set "Content= "
  60. set /p Content=    ^>^> 请输入计划编号:
  61. goto Del_2
  62. ) else cd..&@goto :Task
  63. :Del_2
  64. cd Tasks
  65. if exist %Content%.Htd (
  66. del %Content%.Htd
  67. cd..
  68. goto Task
  69. ) else cd..&goto Task
  70. :Open_2
  71. cd Tasks
  72. if exist %Content%.Htd (
  73. call :Read %Content%
  74. cd..
  75. mode con cols=68 lines=5
  76. @goto :Start
  77. ) else cd..&goto Task
  78. :New
  79. cd Tasks
  80. < Htd.Hdat (
  81. set /p Num=
  82. )
  83. set /a Num+=1
  84. echo.%Num% > Htd.Hdat
  85. cd..
  86. echo.
  87. echo.    ^>^> 新建计划:%Num%
  88. echo.
  89. set "Content= "
  90. set /p Content=    ^>^> 备注:
  91. echo.
  92. set "Content=%Content:>=^>%"
  93. set "Content=%Content:<=^<%"
  94. set "Content=%Content:|=^|%"
  95. set H=0
  96. set Min=0
  97. set S=0
  98. set H_2=0
  99. set Min_2=0
  100. set S_2=0
  101. set Ms=0
  102. set Ms_2=0
  103. call :Vbs_Sleep 1000
  104. @goto :New_2
  105. :Read
  106. < %1.Htd (
  107. set /p H=
  108. set /p Min=
  109. set /p S=
  110. set /p Ms_2=
  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.%Content%
  130. ) > Tasks\%Num%.Htd
  131. @goto :Task
  132. )
  133. if /i "!valid_key!" equ "0" @goto :New_2
  134. :Error
  135. color 1f
  136. cls
  137. echo.
  138. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  139. echo.
  140. echo.    ^>^> 正在帮您恢复
  141. call :Sleep_Installs
  142. goto :Restart
  143. :Start
  144. set Error=0
  145. cls
  146. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  147. echo.
  148. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  149. echo.
  150. echo.    ^>^> Ctrl+C暂停或退出...
  151. call :Sleep %Time%
  152. if %Error%==1 goto :Error
  153. set /a Ms+=100
  154. if %Ms%==1000 set /a S_2+=1&set Ms=0
  155. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  156. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  157. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  158. if /i "!valid_key!" equ "0" goto :Start
  159. :End
  160. cls
  161. color 4e
  162. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  163. Call :Msg "时间到" vbExclamation "Hope计时器"
  164. color 0f
  165. @call :Restart
  166. @goto :Main
  167. :Vbs_Sleep
  168. echo.Wscript.Sleep %1 > Sleep.vbs
  169. call Sleep.vbs > nul
  170. if exist ReturnKey.vbs del ReturnKey.vbs
  171. @goto :eof
  172. :Sleep_Installs
  173. color 0f
  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
复制代码

作者: cmd1152    时间: 2021-8-13 10:22

回复 24# HOPE2021


    时间还是不准,调试没有用
作者: HOPE2021    时间: 2021-8-13 10:44

回复 25# cmd1152
调试功能在我的计算机上是完全准的,我还特意调用了vbs进行计算,是不是您在调试时有什么技术问题没有明白?
作者: HOPE2021    时间: 2021-8-13 10:44

回复 25# cmd1152
调试的读数填的是秒,可以填小数.
作者: cmd1152    时间: 2021-8-13 10:53

回复 27# HOPE2021


    我试试
作者: cmd1152    时间: 2021-8-13 10:57

回复 27# HOPE2021


    还是一模一样...
作者: HOPE2021    时间: 2021-8-13 11:02

回复 29# cmd1152
您是不是把目录下Logs\Time.ini删了?
作者: cmd1152    时间: 2021-8-13 11:04

回复 30# HOPE2021


    没有
作者: HOPE2021    时间: 2021-8-13 11:05

版本1.0.0014上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. cd..
  9. )
  10. mode con cols=68 lines=5
  11. color f9
  12. endlocal
  13. setlocal enabledelayedexpansion
  14. chcp 936 > nul
  15. Rem By Hope2021
  16. title Hope计时器
  17. cls
  18. echo.
  19. echo.
  20. echo.                                HOPE
  21. call :Vbs_Sleep 1000
  22. call :Sleep_Installs
  23. @call :Restart
  24. @goto :Main
  25. :Restart
  26. color 0f
  27. cls
  28. set H=0
  29. set Min=0
  30. set S=0
  31. set H_2=0
  32. set Min_2=0
  33. set S_2=0
  34. set Ms=0
  35. set Ms_2=0
  36. @goto :eof
  37. :Main
  38. mode con cols=68 lines=7
  39. title Hope计时器
  40. set Error=0
  41. cls
  42. echo.
  43. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  44. echo.
  45. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时//退出
  46. echo.
  47. echo.  P 打开计划程序  X 调试
  48. call :get_key
  49. call :Settings_Time
  50. if /i "!key!"=="P" (
  51. set St_1=10001
  52. set En_1=10010
  53. @goto :Task
  54. )
  55. if /i "!key!"=="u" (
  56. mode con cols=68 lines=5
  57. @goto :Start
  58. )
  59. if /i "!key!"=="x" (
  60. mode con cols=68 lines=34
  61. @goto :Debugging
  62. )
  63. if /i "!key!"=="i" (
  64. exit
  65. )
  66. if /i "!valid_key!" equ "0" goto :Main
  67. :Debugging
  68. echo.
  69. call :Echo_Debugging
  70. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  71. echo.
  72. echo.    ^>^> 请按回车键开始第一项检查...
  73. echo.
  74. pause > nul
  75. echo.
  76. call :Echo_Debugging
  77. echo.    ^>^> 正在调试 Certutil 性能...
  78. echo.
  79. echo.    ^>^> 请稍等...
  80. echo.
  81. echo.1 > ReturnKey.ini
  82. Certutil -encode ReturnKey.ini Hope.ini > nul
  83. if not exist Hope.ini (
  84. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  85. echo.
  86. echo.    ^>^> 请按回车键退出...
  87. pause > nul
  88. exit
  89. )
  90. if exist ReturnKey.ini del ReturnKey.ini
  91. if exist Hope.ini del Hope.ini
  92. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  93. echo.
  94. echo.    ^>^> 请按回车键继续...
  95. pause > nul
  96. call :Echo_Debugging
  97. echo.    ^>^> 正在安装延时程序,请稍等...
  98. echo.
  99. call :Sleep_Installs
  100. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  101. echo.
  102. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  103. echo.
  104. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  105. echo.
  106. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  107. echo.
  108. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  109. echo.
  110. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  111. echo.
  112. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  113. pause > nul
  114. mode con cols=68 lines=5
  115. for /l %%i in (1,1,50) do (
  116. cls
  117. echo.
  118. echo.
  119. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  120. call :Sleep 100
  121. )
  122. color 4e
  123. cls
  124. echo.
  125. echo.
  126. echo.    ^>^> 请按回车键开始输入读数
  127. pause > nul
  128. cls
  129. echo.
  130. echo.
  131. set /p Math=    ^>^> 请输入读数:
  132. call :VisualSet Result 5/%Math%
  133. call :VisualSet Result 100*%Result%
  134. Md Logs >nul 2>nul
  135. echo.%Result% > Logs\Time.ini
  136. color 0f
  137. cls
  138. echo.
  139. echo.
  140. echo.    ^>^> 请按回车键退出本程序, 退出后, 请您重启本程序...
  141. pause > nul
  142. exit
  143. :VisualSet
  144. @echo off
  145. echo X=%~2>>VisualSet.vbs
  146. echo wscript.echo(X)>>VisualSet.vbs
  147. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  148. if exist VisualSet.vbs del VisualSet.vbs
  149. goto :eof
  150. :Echo_Debugging
  151. mode con cols=68 lines=34
  152. cls
  153. echo.
  154. echo.  Hope计时器[调试程序]
  155. set /p Str=--------------------------------------------------------------------<nul
  156. echo.
  157. echo.
  158. @goto :eof
  159. :Task
  160. Md Tasks >nul 2>nul
  161. cls
  162. title Hope计时器[计划程序]
  163. set Error=0
  164. echo.
  165. echo.  Hope计时器[计划程序]
  166. set /p Str=--------------------------------------------------------------------<nul
  167. echo.
  168. echo.
  169. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  170. if not exist Tasks\*.Htd (
  171. echo.
  172. echo.    ^>^> 当前没有计划
  173. set /p Str=--------------------------------------------------------------------<nul
  174. echo.
  175. echo.
  176. )
  177. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  178. if exist Tasks\*.Htd (
  179. cd Tasks
  180. echo.
  181. echo.    ^>^> 当前计划列表
  182. set /p Str=--------------------------------------------------------------------<nul
  183. echo.
  184. echo.
  185. for /f %%i in ('dir /b *.Htd') do (
  186. for /f "skip=4" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  187. )
  188. echo.
  189. cd..
  190. )
  191. )
  192. call :get_key
  193. if /i "!key!"=="E" (
  194. @goto :Main
  195. )
  196. if /i "!key!"=="D" (
  197. @goto :Del
  198. )
  199. if /i "!key!"=="R" (
  200. exit
  201. )
  202. if /i "!key!"=="Q" (
  203. @goto :New
  204. )
  205. if /i "!key!"=="W" (
  206. @goto :Open
  207. )
  208. if /i "!valid_key!" equ "0" @goto :Task
  209. :Open
  210. if exist Tasks\*.Htd (
  211. set "Content= "
  212. set /p Content=    ^>^> 请输入计划编号:
  213. goto Open_2
  214. ) else cd..&@goto :Task
  215. :Del
  216. if exist Tasks\*.Htd (
  217. set "Content= "
  218. set /p Content=    ^>^> 请输入计划编号:
  219. goto Del_2
  220. ) else cd..&@goto :Task
  221. :Del_2
  222. cd Tasks
  223. if exist %Content%.Htd (
  224. del %Content%.Htd
  225. cd..
  226. goto Task
  227. ) else cd..&goto Task
  228. :Open_2
  229. cd Tasks
  230. if exist %Content%.Htd (
  231. call :Read %Content%
  232. cd..
  233. mode con cols=68 lines=5
  234. @goto :Start
  235. ) else cd..&goto Task
  236. :New
  237. cd Tasks
  238. < Htd.Hdat (
  239. set /p Num=
  240. )
  241. set /a Num+=1
  242. echo.%Num% > Htd.Hdat
  243. cd..
  244. echo.
  245. echo.    ^>^> 新建计划:%Num%
  246. echo.
  247. set "Content= "
  248. set /p Content=    ^>^> 备注:
  249. echo.
  250. set "Content=%Content:>=^>%"
  251. set "Content=%Content:<=^<%"
  252. set "Content=%Content:|=^|%"
  253. set H=0
  254. set Min=0
  255. set S=0
  256. set H_2=0
  257. set Min_2=0
  258. set S_2=0
  259. set Ms=0
  260. set Ms_2=0
  261. call :Vbs_Sleep 1000
  262. @goto :New_2
  263. :Read
  264. < %1.Htd (
  265. set /p H=
  266. set /p Min=
  267. set /p S=
  268. set /p Ms_2=
  269. set /p Content=
  270. )
  271. @goto :eof
  272. :New_2
  273. cls
  274. echo.
  275. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  276. echo.
  277. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  278. echo.
  279. call :get_key
  280. call :Settings_Time
  281. if /i "!key!"=="U" (
  282. (
  283. echo.%H%
  284. echo.%Min%
  285. echo.%S%
  286. echo.%Ms_2%
  287. echo.%Content%
  288. ) > Tasks\%Num%.Htd
  289. @goto :Task
  290. )
  291. if /i "!valid_key!" equ "0" @goto :New_2
  292. :Error
  293. color 1f
  294. cls
  295. echo.
  296. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  297. echo.
  298. echo.    ^>^> 正在帮您恢复
  299. call :Sleep_Installs
  300. goto :Restart
复制代码

作者: HOPE2021    时间: 2021-8-13 11:05

版本1.0.0014下半部分
  1. :Start
  2. set Error=0
  3. cls
  4. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  5. echo.
  6. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  7. echo.
  8. echo.    ^>^> Ctrl+C暂停或退出...
  9. call :Sleep %Time%
  10. if %Error%==1 goto :Error
  11. set /a Ms+=100
  12. if %Ms%==1000 set /a S_2+=1&set Ms=0
  13. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  14. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  15. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  16. if /i "!valid_key!" equ "0" goto :Start
  17. :End
  18. cls
  19. color 4e
  20. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  21. Call :Msg "时间到" vbExclamation "Hope计时器"
  22. color 0f
  23. @call :Restart
  24. @goto :Main
  25. :Vbs_Sleep
  26. echo.Wscript.Sleep %1 > Sleep.vbs
  27. call Sleep.vbs > nul
  28. if exist ReturnKey.vbs del ReturnKey.vbs
  29. @goto :eof
  30. :Sleep_Installs
  31. color 0f
  32. (
  33. echo.-----BEGIN CERTIFICATE-----
  34. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  35. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  36. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  37. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  38. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  39. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  40. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  41. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  42. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  43. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  44. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  45. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  46. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  47. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  48. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  49. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  50. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  51. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  52. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  53. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  54. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  55. echo.AAAAAAAAAAAAAAAAAAAAAA==
  56. echo.-----END CERTIFICATE-----
  57. ) > Sleep.com
  58. Certutil -Decode Sleep.com Sleep.exe > nul
  59. Certutil -Decode -f Sleep.com Sleep.com > nul
  60. goto :eof
  61. :Sleep
  62. set Error=0
  63. if exist Sleep.exe (
  64. Sleep.exe %1
  65. goto :eof
  66. )
  67. if not exist Sleep.exe if exist Sleep.com (
  68. Sleep.com %1
  69. goto :eof
  70. )
  71. if not exist Sleep.exe if not exist Sleep.com (
  72. set Error=1
  73. goto :eof
  74. )
  75. :get_key
  76. rem 用法:call :get_key
  77. set "key="
  78.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  79.   set "key=%key:~-1%"
  80.   set "valid_key=0"
  81. goto :eof
  82. :Msg
  83. Rem 用法: Call :Msg "Text" [buttons] "Title"
  84. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  85. Call ReturnKey.vbs > nul
  86. if exist ReturnKey.vbs del ReturnKey.vbs
  87. goto :eof
  88. :Settings_Time
  89. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  90. if /i "!key!"=="q" (
  91. set /a Ms_2+=3600000
  92. set /a H+=1
  93. )
  94. if /i "!key!"=="w" (
  95. set /a Ms_2-=3600000
  96. set /a H-=1
  97. )
  98. if /i "!key!"=="e" (
  99. set /a Ms_2+=60000
  100. set /a Min+=1
  101. )
  102. if /i "!key!"=="r" (
  103. set /a Ms_2-=60000
  104. set /a Min-=1
  105. )
  106. if /i "!key!"=="t" (
  107. set /a Ms_2+=1000
  108. set /a S+=1
  109. )
  110. if /i "!key!"=="y" (
  111. set /a Ms_2-=1000
  112. set /a S-=1
  113. )
  114. )
  115. if %S% Lss 0 (
  116. if %Min% Geq 0 if %H% Geq 0 (
  117. set /a Min-=1&set /a S+=60
  118. )
  119. if %Min% Leq 0 if %H% Leq 0 (
  120. echo.
  121. echo.    ^>^> 算数错误!
  122. call :Vbs_Sleep 100
  123. @call :Restart
  124. )
  125. )
  126. if %Min% Lss 0 (
  127. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  128. if %H% Leq 0 (
  129. echo.
  130. echo.    ^>^> 算数错误!
  131. call :Vbs_Sleep 100
  132. @call :Restart
  133. )
  134. )
  135. if %H% Lss 0 (
  136. echo.
  137. echo.    ^>^> 算数错误!
  138. call :Vbs_Sleep 100
  139. @call :Restart
  140. )
  141. if %Ms_2% Gtr 200000000 (
  142. echo.
  143. echo.    ^>^> 算数错误!
  144. call :Vbs_Sleep 100
  145. @call :Restart
  146. )
  147. if %S% Geq 60 set /a Min+=1&set S=0
  148. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: HOPE2021    时间: 2021-8-13 11:06

回复 31# cmd1152
那您尝试把Time.ini中的数值调小一点...
作者: HOPE2021    时间: 2021-8-13 11:35

版本1.0.0015上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. cd..
  9. )
  10. mode con cols=68 lines=5
  11. color f9
  12. endlocal
  13. setlocal enabledelayedexpansion
  14. chcp 936 > nul
  15. Rem By Hope2021
  16. title Hope计时器
  17. cls
  18. echo.
  19. echo.
  20. echo.                                HOPE
  21. call :Vbs_Sleep 1000
  22. call :Sleep_Installs
  23. @call :Restart
  24. @goto :Main
  25. :Restart
  26. color 0f
  27. cls
  28. set H=0
  29. set Min=0
  30. set S=0
  31. set H_2=0
  32. set Min_2=0
  33. set S_2=0
  34. set Ms=0
  35. set Ms_2=0
  36. @goto :eof
  37. :Main
  38. mode con cols=68 lines=7
  39. title Hope计时器
  40. set Error=0
  41. cls
  42. echo.
  43. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  44. echo.
  45. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时//退出
  46. echo.
  47. echo.  P 打开计划程序  X 调试
  48. call :get_key
  49. call :Settings_Time
  50. if /i "!key!"=="P" (
  51. set St_1=10001
  52. set En_1=10010
  53. @goto :Task
  54. )
  55. if /i "!key!"=="u" (
  56. mode con cols=68 lines=5
  57. @goto :Start
  58. )
  59. if /i "!key!"=="x" (
  60. mode con cols=68 lines=34
  61. @goto :Debugging
  62. )
  63. if /i "!key!"=="i" (
  64. exit
  65. )
  66. if /i "!valid_key!" equ "0" goto :Main
  67. :Debugging
  68. echo.
  69. call :Echo_Debugging
  70. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  71. echo.
  72. echo.    ^>^> 请按回车键开始第一项检查...
  73. echo.
  74. pause > nul
  75. echo.
  76. call :Echo_Debugging
  77. echo.    ^>^> 正在调试 Certutil 性能...
  78. echo.
  79. echo.    ^>^> 请稍等...
  80. echo.
  81. echo.1 > ReturnKey.ini
  82. Certutil -encode ReturnKey.ini Hope.ini > nul
  83. if not exist Hope.ini (
  84. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  85. echo.
  86. echo.    ^>^> 请按回车键退出...
  87. pause > nul
  88. exit
  89. )
  90. if exist ReturnKey.ini del ReturnKey.ini
  91. if exist Hope.ini del Hope.ini
  92. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  93. echo.
  94. echo.    ^>^> 请按回车键继续...
  95. pause > nul
  96. call :Echo_Debugging
  97. echo.    ^>^> 正在安装延时程序,请稍等...
  98. echo.
  99. call :Sleep_Installs
  100. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  101. echo.
  102. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  103. echo.
  104. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  105. echo.
  106. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  107. echo.
  108. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  109. echo.
  110. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  111. echo.
  112. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  113. pause > nul
  114. mode con cols=68 lines=5
  115. for /l %%i in (1,1,50) do (
  116. cls
  117. echo.
  118. echo.
  119. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  120. call :Sleep 100
  121. )
  122. color 4e
  123. cls
  124. echo.
  125. echo.
  126. echo.    ^>^> 请按回车键开始输入读数
  127. pause > nul
  128. cls
  129. echo.
  130. echo.
  131. set /p Math=    ^>^> 请输入读数:
  132. call :VisualSet Result 5/%Math%
  133. call :VisualSet Result 100*%Result%
  134. Md Logs >nul 2>nul
  135. echo.%Result% > Logs\Time.ini
  136. color 0f
  137. cls
  138. echo.
  139. echo.
  140. echo.    ^>^> 请按回车键退出本程序, 退出后, 请您重启本程序...
  141. pause > nul
  142. exit
  143. :VisualSet
  144. @echo off
  145. echo X=%~2>>VisualSet.vbs
  146. echo wscript.echo(X)>>VisualSet.vbs
  147. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  148. if exist VisualSet.vbs del VisualSet.vbs
  149. goto :eof
  150. :Echo_Debugging
  151. mode con cols=68 lines=34
  152. cls
  153. echo.
  154. echo.  Hope计时器[调试程序]
  155. set /p Str=--------------------------------------------------------------------<nul
  156. echo.
  157. echo.
  158. @goto :eof
  159. :Task
  160. mode con cols=68 lines=34
  161. Md Tasks >nul 2>nul
  162. cls
  163. title Hope计时器[计划程序]
  164. set Error=0
  165. echo.
  166. echo.  Hope计时器[计划程序]
  167. set /p Str=--------------------------------------------------------------------<nul
  168. echo.
  169. echo.
  170. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  171. if not exist Tasks\*.Htd (
  172. echo.
  173. echo.    ^>^> 当前没有计划
  174. set /p Str=--------------------------------------------------------------------<nul
  175. echo.
  176. echo.
  177. )
  178. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  179. if exist Tasks\*.Htd (
  180. cd Tasks
  181. echo.
  182. echo.    ^>^> 当前计划列表
  183. set /p Str=--------------------------------------------------------------------<nul
  184. echo.
  185. echo.
  186. for /f %%i in ('dir /b *.Htd') do (
  187. for /f "skip=4" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  188. )
  189. echo.
  190. cd..
  191. )
  192. )
  193. call :get_key
  194. if /i "!key!"=="E" (
  195. @goto :Main
  196. )
  197. if /i "!key!"=="D" (
  198. @goto :Del
  199. )
  200. if /i "!key!"=="R" (
  201. exit
  202. )
  203. if /i "!key!"=="Q" (
  204. @goto :New
  205. )
  206. if /i "!key!"=="W" (
  207. @goto :Open
  208. )
  209. if /i "!valid_key!" equ "0" @goto :Task
  210. :Open
  211. if exist Tasks\*.Htd (
  212. set "Content= "
  213. set /p Content=    ^>^> 请输入计划编号:
  214. goto Open_2
  215. ) else cd..&@goto :Task
  216. :Del
  217. if exist Tasks\*.Htd (
  218. set "Content= "
  219. set /p Content=    ^>^> 请输入计划编号:
  220. goto Del_2
  221. ) else cd..&@goto :Task
  222. :Del_2
  223. cd Tasks
  224. if exist %Content%.Htd (
  225. del %Content%.Htd
  226. cd..
  227. goto Task
  228. ) else cd..&goto Task
  229. :Open_2
  230. cd Tasks
  231. if exist %Content%.Htd (
  232. call :Read %Content%
  233. cd..
  234. mode con cols=68 lines=5
  235. @goto :Start
  236. ) else cd..&goto Task
  237. :New
  238. cd Tasks
  239. < Htd.Hdat (
  240. set /p Num=
  241. )
  242. set /a Num+=1
  243. echo.%Num% > Htd.Hdat
  244. cd..
  245. echo.
  246. echo.    ^>^> 新建计划:%Num%
  247. echo.
  248. set "Content= "
  249. set /p Content=    ^>^> 备注:
  250. echo.
  251. set "Content=%Content:>=^>%"
  252. set "Content=%Content:<=^<%"
  253. set "Content=%Content:|=^|%"
  254. set H=0
  255. set Min=0
  256. set S=0
  257. set H_2=0
  258. set Min_2=0
  259. set S_2=0
  260. set Ms=0
  261. set Ms_2=0
  262. call :Vbs_Sleep 1000
  263. @goto :New_2
  264. :Read
  265. < %1.Htd (
  266. set /p H=
  267. set /p Min=
  268. set /p S=
  269. set /p Ms_2=
  270. set /p Content=
  271. )
  272. @goto :eof
  273. :New_2
  274. cls
  275. echo.
  276. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  277. echo.
  278. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  279. echo.
  280. call :get_key
  281. call :Settings_Time
  282. if /i "!key!"=="U" (
  283. (
  284. echo.%H%
  285. echo.%Min%
  286. echo.%S%
  287. echo.%Ms_2%
  288. echo.%Content%
  289. ) > Tasks\%Num%.Htd
  290. @goto :Task
  291. )
  292. if /i "!valid_key!" equ "0" @goto :New_2
  293. :Error
  294. color 1f
  295. cls
  296. echo.
  297. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  298. echo.
  299. echo.    ^>^> 正在帮您恢复
  300. call :Sleep_Installs
  301. goto :Restart
  302. :Start
  303. set Error=0
  304. cls
  305. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  306. echo.
  307. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  308. echo.
  309. echo.    ^>^> Ctrl+C暂停或退出...
  310. call :Sleep %Time%
  311. if %Error%==1 goto :Error
  312. set /a Ms+=100
  313. if %Ms%==1000 set /a S_2+=1&set Ms=0
  314. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  315. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  316. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  317. if /i "!valid_key!" equ "0" goto :Start
  318. :End
  319. cls
  320. color 4e
  321. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  322. Call :Msg "时间到" vbExclamation "Hope计时器"
  323. color 0f
  324. @call :Restart
  325. @goto :Main
  326. :Vbs_Sleep
  327. echo.Wscript.Sleep %1 > Sleep.vbs
  328. call Sleep.vbs > nul
  329. if exist ReturnKey.vbs del ReturnKey.vbs
  330. @goto :eof
复制代码

作者: HOPE2021    时间: 2021-8-13 11:36

版本1.0.0015下半部分
  1. :Sleep_Installs
  2. color 0f
  3. (
  4. echo.-----BEGIN CERTIFICATE-----
  5. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  6. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  7. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  8. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  9. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  10. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  11. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  12. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  13. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  14. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  15. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  16. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  17. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  18. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  19. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  20. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  21. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  22. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  23. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  24. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  25. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  26. echo.AAAAAAAAAAAAAAAAAAAAAA==
  27. echo.-----END CERTIFICATE-----
  28. ) > Sleep.com
  29. Certutil -Decode Sleep.com Sleep.exe > nul
  30. Certutil -Decode -f Sleep.com Sleep.com > nul
  31. goto :eof
  32. :Sleep
  33. set Error=0
  34. if exist Sleep.exe (
  35. Sleep.exe %1
  36. goto :eof
  37. )
  38. if not exist Sleep.exe if exist Sleep.com (
  39. Sleep.com %1
  40. goto :eof
  41. )
  42. if not exist Sleep.exe if not exist Sleep.com (
  43. set Error=1
  44. goto :eof
  45. )
  46. :get_key
  47. rem 用法:call :get_key
  48. set "key="
  49.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  50.   set "key=%key:~-1%"
  51.   set "valid_key=0"
  52. goto :eof
  53. :Msg
  54. Rem 用法: Call :Msg "Text" [buttons] "Title"
  55. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  56. Call ReturnKey.vbs > nul
  57. if exist ReturnKey.vbs del ReturnKey.vbs
  58. goto :eof
  59. :Settings_Time
  60. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  61. if /i "!key!"=="q" (
  62. set /a Ms_2+=3600000
  63. set /a H+=1
  64. )
  65. if /i "!key!"=="w" (
  66. set /a Ms_2-=3600000
  67. set /a H-=1
  68. )
  69. if /i "!key!"=="e" (
  70. set /a Ms_2+=60000
  71. set /a Min+=1
  72. )
  73. if /i "!key!"=="r" (
  74. set /a Ms_2-=60000
  75. set /a Min-=1
  76. )
  77. if /i "!key!"=="t" (
  78. set /a Ms_2+=1000
  79. set /a S+=1
  80. )
  81. if /i "!key!"=="y" (
  82. set /a Ms_2-=1000
  83. set /a S-=1
  84. )
  85. )
  86. if %S% Lss 0 (
  87. if %Min% Geq 0 if %H% Geq 0 (
  88. set /a Min-=1&set /a S+=60
  89. )
  90. if %Min% Leq 0 if %H% Leq 0 (
  91. echo.
  92. echo.    ^>^> 算数错误!
  93. call :Vbs_Sleep 100
  94. @call :Restart
  95. )
  96. )
  97. if %Min% Lss 0 (
  98. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  99. if %H% Leq 0 (
  100. echo.
  101. echo.    ^>^> 算数错误!
  102. call :Vbs_Sleep 100
  103. @call :Restart
  104. )
  105. )
  106. if %H% Lss 0 (
  107. echo.
  108. echo.    ^>^> 算数错误!
  109. call :Vbs_Sleep 100
  110. @call :Restart
  111. )
  112. if %Ms_2% Gtr 200000000 (
  113. echo.
  114. echo.    ^>^> 算数错误!
  115. call :Vbs_Sleep 100
  116. @call :Restart
  117. )
  118. if %S% Geq 60 set /a Min+=1&set S=0
  119. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: cmd1152    时间: 2021-8-13 11:51

回复 36# HOPE2021


    调小也不行
作者: HOPE2021    时间: 2021-8-13 12:09

本帖最后由 HOPE2021 于 2021-8-13 12:10 编辑

回复 37# cmd1152
调零呢?
如果不行我也无能为力了...
作者: HOPE2021    时间: 2021-8-13 13:12

版本1.0.0016上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. cd..
  9. )
  10. mode con cols=68 lines=5
  11. color f9
  12. endlocal
  13. setlocal enabledelayedexpansion
  14. chcp 936 > nul
  15. Rem By Hope2021
  16. title Hope计时器
  17. cls
  18. echo.
  19. echo.
  20. echo.                                HOPE
  21. call :Vbs_Sleep 1000
  22. call :Sleep_Installs
  23. @call :Restart
  24. @goto :Main
  25. :Restart
  26. color 0f
  27. cls
  28. set H=0
  29. set Min=0
  30. set S=0
  31. set H_2=0
  32. set Min_2=0
  33. set S_2=0
  34. set Ms=0
  35. set Ms_2=0
  36. @goto :eof
  37. :Main
  38. mode con cols=68 lines=7
  39. title Hope计时器
  40. set Error=0
  41. cls
  42. echo.
  43. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  44. echo.
  45. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时//退出
  46. echo.
  47. echo.  P 打开计划程序  X 调试
  48. call :get_key
  49. call :Settings_Time
  50. if /i "!key!"=="P" (
  51. set St_1=10001
  52. set En_1=10010
  53. @goto :Task
  54. )
  55. if /i "!key!"=="u" (
  56. mode con cols=68 lines=5
  57. set "Title=时间到!!!"
  58. @goto :Start
  59. )
  60. if /i "!key!"=="x" (
  61. mode con cols=68 lines=34
  62. @goto :Debugging
  63. )
  64. if /i "!key!"=="i" (
  65. exit
  66. )
  67. if /i "!valid_key!" equ "0" goto :Main
  68. :Debugging
  69. echo.
  70. call :Echo_Debugging
  71. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  72. echo.
  73. echo.    ^>^> 请按回车键开始第一项检查...
  74. echo.
  75. pause > nul
  76. echo.
  77. call :Echo_Debugging
  78. echo.    ^>^> 正在调试 Certutil 性能...
  79. echo.
  80. echo.    ^>^> 请稍等...
  81. echo.
  82. echo.1 > ReturnKey.ini
  83. Certutil -encode ReturnKey.ini Hope.ini > nul
  84. if not exist Hope.ini (
  85. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  86. echo.
  87. echo.    ^>^> 请按回车键退出...
  88. pause > nul
  89. exit
  90. )
  91. if exist ReturnKey.ini del ReturnKey.ini
  92. if exist Hope.ini del Hope.ini
  93. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  94. echo.
  95. echo.    ^>^> 请按回车键继续...
  96. pause > nul
  97. call :Echo_Debugging
  98. echo.    ^>^> 正在安装延时程序,请稍等...
  99. echo.
  100. call :Sleep_Installs
  101. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  102. echo.
  103. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  104. echo.
  105. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  106. echo.
  107. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  108. echo.
  109. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  110. echo.
  111. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  112. echo.
  113. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  114. pause > nul
  115. mode con cols=68 lines=5
  116. for /l %%i in (1,1,50) do (
  117. cls
  118. echo.
  119. echo.
  120. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  121. call :Sleep 100
  122. )
  123. color 4e
  124. cls
  125. echo.
  126. echo.
  127. echo.    ^>^> 请按回车键开始输入读数
  128. pause > nul
  129. cls
  130. echo.
  131. echo.
  132. set /p Math=    ^>^> 请输入读数:
  133. call :VisualSet Result 5/%Math%
  134. call :VisualSet Result 100*%Result%
  135. Md Logs >nul 2>nul
  136. echo.%Result% > Logs\Time.ini
  137. color 0f
  138. cls
  139. echo.
  140. echo.
  141. echo.    ^>^> 请按回车键退出本程序, 退出后, 请您重启本程序...
  142. pause > nul
  143. exit
  144. :VisualSet
  145. @echo off
  146. echo X=%~2>>VisualSet.vbs
  147. echo wscript.echo(X)>>VisualSet.vbs
  148. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  149. if exist VisualSet.vbs del VisualSet.vbs
  150. goto :eof
  151. :Echo_Debugging
  152. mode con cols=68 lines=34
  153. cls
  154. echo.
  155. echo.  Hope计时器[调试程序]
  156. set /p Str=--------------------------------------------------------------------<nul
  157. echo.
  158. echo.
  159. @goto :eof
  160. :Task
  161. mode con cols=68 lines=34
  162. Md Tasks >nul 2>nul
  163. cls
  164. title Hope计时器[计划程序]
  165. set Error=0
  166. echo.
  167. echo.  Hope计时器[计划程序]
  168. set /p Str=--------------------------------------------------------------------<nul
  169. echo.
  170. echo.
  171. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  172. if not exist Tasks\*.Htd (
  173. echo.
  174. echo.    ^>^> 当前没有计划
  175. set /p Str=--------------------------------------------------------------------<nul
  176. echo.
  177. echo.
  178. )
  179. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  180. if exist Tasks\*.Htd (
  181. cd Tasks
  182. echo.
  183. echo.    ^>^> 当前计划列表
  184. set /p Str=--------------------------------------------------------------------<nul
  185. echo.
  186. echo.
  187. for /f %%i in ('dir /b *.Htd') do (
  188. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  189. )
  190. echo.
  191. cd..
  192. )
  193. )
  194. call :get_key
  195. if /i "!key!"=="E" (
  196. @goto :Main
  197. )
  198. if /i "!key!"=="D" (
  199. @goto :Del
  200. )
  201. if /i "!key!"=="R" (
  202. exit
  203. )
  204. if /i "!key!"=="Q" (
  205. @goto :New
  206. )
  207. if /i "!key!"=="W" (
  208. @goto :Open
  209. )
  210. if /i "!valid_key!" equ "0" @goto :Task
  211. :Open
  212. if exist Tasks\*.Htd (
  213. set "Content= "
  214. set /p Content=    ^>^> 请输入计划编号:
  215. goto Open_2
  216. ) else cd..&@goto :Task
  217. :Del
  218. if exist Tasks\*.Htd (
  219. set "Content= "
  220. set /p Content=    ^>^> 请输入计划编号:
  221. goto Del_2
  222. ) else cd..&@goto :Task
  223. :Del_2
  224. cd Tasks
  225. if exist %Content%.Htd (
  226. del %Content%.Htd
  227. cd..
  228. goto Task
  229. ) else cd..&goto Task
  230. :Open_2
  231. cd Tasks
  232. if exist %Content%.Htd (
  233. call :Read %Content%
  234. cd..
  235. mode con cols=68 lines=5
  236. @goto :Start
  237. ) else cd..&goto Task
  238. :New
  239. cd Tasks
  240. < Htd.Hdat (
  241. set /p Num=
  242. )
  243. set /a Num+=1
  244. echo.%Num% > Htd.Hdat
  245. cd..
  246. echo.
  247. echo.    ^>^> 新建计划:%Num%
  248. echo.
  249. set "Content=时间到!!!"
  250. set /p Content=    ^>^> 备注:
  251. echo.
  252. set "Content=%Content:>=^>%"
  253. set "Content=%Content:<=^<%"
  254. set "Content=%Content:|=^|%"
  255. set "Title= "
  256. set /p Title=    ^>^> 到时提醒:
  257. echo.
  258. set "Title=%Title:>=^^^>%"
  259. set "Title=%Title:<=^^^<%"
  260. set "Title=%Title:|=^^^|%"
  261. set H=0
  262. set Min=0
  263. set S=0
  264. set H_2=0
  265. set Min_2=0
  266. set S_2=0
  267. set Ms=0
  268. set Ms_2=0
  269. call :Vbs_Sleep 1000
  270. @goto :New_2
  271. :Read
  272. < %1.Htd (
  273. set /p H=
  274. set /p Min=
  275. set /p S=
  276. set /p Ms_2=
  277. set /p Title=
  278. set /p Content=
  279. )
  280. @goto :eof
  281. :New_2
  282. cls
  283. echo.
  284. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  285. echo.
  286. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  287. echo.
  288. call :get_key
  289. call :Settings_Time
  290. if /i "!key!"=="U" (
  291. (
  292. echo.%H%
  293. echo.%Min%
  294. echo.%S%
  295. echo.%Ms_2%
  296. echo.%Title%
  297. echo.%Content%
  298. ) > Tasks\%Num%.Htd
  299. @goto :Task
  300. )
  301. if /i "!valid_key!" equ "0" @goto :New_2
  302. :Error
  303. color 1f
  304. cls
  305. echo.
  306. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  307. echo.
  308. echo.    ^>^> 正在帮您恢复
  309. call :Sleep_Installs
  310. goto :Restart
复制代码

作者: HOPE2021    时间: 2021-8-13 13:13

版本1.0.0016下半部分
  1. :Start
  2. set Error=0
  3. cls
  4. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  5. echo.
  6. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  7. echo.
  8. echo.    ^>^> Ctrl+C暂停或退出...
  9. call :Sleep %Time%
  10. if %Error%==1 goto :Error
  11. set /a Ms+=100
  12. if %Ms%==1000 set /a S_2+=1&set Ms=0
  13. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  14. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  15. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  16. if /i "!valid_key!" equ "0" goto :Start
  17. :End
  18. cls
  19. color 4e
  20. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  21. Call :Msg "%Title%" vbExclamation "Hope计时器"
  22. color 0f
  23. @call :Restart
  24. @goto :Main
  25. :Vbs_Sleep
  26. echo.Wscript.Sleep %1 > Sleep.vbs
  27. call Sleep.vbs > nul
  28. if exist ReturnKey.vbs del ReturnKey.vbs
  29. @goto :eof
  30. :Sleep_Installs
  31. color 0f
  32. (
  33. echo.-----BEGIN CERTIFICATE-----
  34. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  35. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  36. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  37. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  38. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  39. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  40. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  41. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  42. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  43. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  44. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  45. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  46. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  47. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  48. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  49. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  50. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  51. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  52. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  53. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  54. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  55. echo.AAAAAAAAAAAAAAAAAAAAAA==
  56. echo.-----END CERTIFICATE-----
  57. ) > Sleep.com
  58. Certutil -Decode Sleep.com Sleep.exe > nul
  59. Certutil -Decode -f Sleep.com Sleep.com > nul
  60. goto :eof
  61. :Sleep
  62. set Error=0
  63. if exist Sleep.exe (
  64. Sleep.exe %1
  65. goto :eof
  66. )
  67. if not exist Sleep.exe if exist Sleep.com (
  68. Sleep.com %1
  69. goto :eof
  70. )
  71. if not exist Sleep.exe if not exist Sleep.com (
  72. set Error=1
  73. goto :eof
  74. )
  75. :get_key
  76. rem 用法:call :get_key
  77. set "key="
  78.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  79.   set "key=%key:~-1%"
  80.   set "valid_key=0"
  81. goto :eof
  82. :Msg
  83. Rem 用法: Call :Msg "Text" [buttons] "Title"
  84. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  85. Call ReturnKey.vbs > nul
  86. if exist ReturnKey.vbs del ReturnKey.vbs
  87. goto :eof
  88. :Settings_Time
  89. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  90. if /i "!key!"=="q" (
  91. set /a Ms_2+=3600000
  92. set /a H+=1
  93. )
  94. if /i "!key!"=="w" (
  95. set /a Ms_2-=3600000
  96. set /a H-=1
  97. )
  98. if /i "!key!"=="e" (
  99. set /a Ms_2+=60000
  100. set /a Min+=1
  101. )
  102. if /i "!key!"=="r" (
  103. set /a Ms_2-=60000
  104. set /a Min-=1
  105. )
  106. if /i "!key!"=="t" (
  107. set /a Ms_2+=1000
  108. set /a S+=1
  109. )
  110. if /i "!key!"=="y" (
  111. set /a Ms_2-=1000
  112. set /a S-=1
  113. )
  114. )
  115. if %S% Lss 0 (
  116. if %Min% Geq 0 if %H% Geq 0 (
  117. set /a Min-=1&set /a S+=60
  118. )
  119. if %Min% Leq 0 if %H% Leq 0 (
  120. echo.
  121. echo.    ^>^> 算数错误!
  122. call :Vbs_Sleep 100
  123. @call :Restart
  124. )
  125. )
  126. if %Min% Lss 0 (
  127. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  128. if %H% Leq 0 (
  129. echo.
  130. echo.    ^>^> 算数错误!
  131. call :Vbs_Sleep 100
  132. @call :Restart
  133. )
  134. )
  135. if %H% Lss 0 (
  136. echo.
  137. echo.    ^>^> 算数错误!
  138. call :Vbs_Sleep 100
  139. @call :Restart
  140. )
  141. if %Ms_2% Gtr 200000000 (
  142. echo.
  143. echo.    ^>^> 算数错误!
  144. call :Vbs_Sleep 100
  145. @call :Restart
  146. )
  147. if %S% Geq 60 set /a Min+=1&set S=0
  148. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: cmd1152    时间: 2021-8-13 14:00

本帖最后由 cmd1152 于 2021-8-13 14:01 编辑

回复 40# HOPE2021


    1.0.0017上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. cd..
  9. )
  10. mode con cols=68 lines=5
  11. color f9
  12. endlocal
  13. setlocal enabledelayedexpansion
  14. chcp 936 > nul
  15. Rem By Hope2021
  16. title Hope计时器
  17. cls
  18. echo.
  19. echo.
  20. echo.                                HOPE
  21. call :Vbs_Sleep 1000
  22. call :Sleep_Installs
  23. @call :Restart
  24. @goto :Main
  25. :Restart
  26. color 0f
  27. cls
  28. set H=0
  29. set Min=0
  30. set S=0
  31. set H_2=0
  32. set Min_2=0
  33. set S_2=0
  34. set Ms=0
  35. set Ms_2=0
  36. @goto :eof
  37. :Main
  38. mode con cols=68 lines=7
  39. title Hope计时器
  40. set Error=0
  41. cls
  42. echo.
  43. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  44. echo.
  45. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时//退出
  46. echo.
  47. echo.  P 打开计划程序  S 删除计划存储  X 调试
  48. call :get_key
  49. call :Settings_Time
  50. if /i "!key!"=="P" (
  51. set St_1=10001
  52. set En_1=10010
  53. @goto :Task
  54. )
  55. if /i "!key!"=="u" (
  56. mode con cols=68 lines=5
  57. set "Title=时间到!!!"
  58. @goto :Start
  59. )
  60. if /i "!key!"=="x" (
  61. mode con cols=68 lines=34
  62. @goto :Debugging
  63. )
  64. if /i "!key!"=="s" (
  65. rd /s /q tasks
  66. )
  67. if /i "!key!"=="i" (
  68. del sleep.com sleep.exe sleep.vbs
  69. exit
  70. )
  71. if /i "!valid_key!" equ "0" goto :Main
  72. :Debugging
  73. echo.
  74. call :Echo_Debugging
  75. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  76. echo.
  77. echo.    ^>^> 请按回车键开始第一项检查...
  78. echo.
  79. pause > nul
  80. echo.
  81. call :Echo_Debugging
  82. echo.    ^>^> 正在调试 Certutil 性能...
  83. echo.
  84. echo.    ^>^> 请稍等...
  85. echo.
  86. echo.1 > ReturnKey.ini
  87. Certutil -encode ReturnKey.ini Hope.ini > nul
  88. if not exist Hope.ini (
  89. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  90. echo.
  91. echo.    ^>^> 请按回车键退出...
  92. pause > nul
  93. exit
  94. )
  95. if exist ReturnKey.ini del ReturnKey.ini
  96. if exist Hope.ini del Hope.ini
  97. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  98. echo.
  99. echo.    ^>^> 请按回车键继续...
  100. pause > nul
  101. call :Echo_Debugging
  102. echo.    ^>^> 正在安装延时程序,请稍等...
  103. echo.
  104. call :Sleep_Installs
  105. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  106. echo.
  107. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  108. echo.
  109. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  110. echo.
  111. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  112. echo.
  113. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  114. echo.
  115. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  116. echo.
  117. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  118. pause > nul
  119. mode con cols=68 lines=5
  120. for /l %%i in (1,1,50) do (
  121. cls
  122. echo.
  123. echo.
  124. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  125. call :Sleep 100
  126. )
  127. color 4e
  128. cls
  129. echo.
  130. echo.
  131. echo.    ^>^> 请按回车键开始输入读数
  132. pause > nul
  133. cls
  134. echo.
  135. echo.
  136. set /p Math=    ^>^> 请输入读数:
  137. call :VisualSet Result 5/%Math%
  138. call :VisualSet Result 100*%Result%
  139. Md Logs >nul 2>nul
  140. echo.%Result% > Logs\Time.ini
  141. color 0f
  142. cls
  143. echo.
  144. echo.
  145. echo.    ^>^> 请按回车键退出本程序, 退出后, 请您重启本程序...
  146. pause > nul
  147. exit
  148. :VisualSet
  149. @echo off
  150. echo X=%~2>>VisualSet.vbs
  151. echo wscript.echo(X)>>VisualSet.vbs
  152. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  153. if exist VisualSet.vbs del VisualSet.vbs
  154. goto :eof
  155. :Echo_Debugging
  156. mode con cols=68 lines=34
  157. cls
  158. echo.
  159. echo.  Hope计时器[调试程序]
  160. set /p Str=--------------------------------------------------------------------<nul
  161. echo.
  162. echo.
  163. @goto :eof
  164. :Task
  165. mode con cols=68 lines=34
  166. Md Tasks >nul 2>nul
  167. cls
  168. title Hope计时器[计划程序]
  169. set Error=0
  170. echo.
  171. echo.  Hope计时器[计划程序]
  172. set /p Str=--------------------------------------------------------------------<nul
  173. echo.
  174. echo.
  175. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  176. if not exist Tasks\*.Htd (
  177. echo.
  178. echo.    ^>^> 当前没有计划
  179. set /p Str=--------------------------------------------------------------------<nul
  180. echo.
  181. echo.
  182. )
  183. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  184. if exist Tasks\*.Htd (
  185. cd Tasks
  186. echo.
  187. echo.    ^>^> 当前计划列表
  188. set /p Str=--------------------------------------------------------------------<nul
  189. echo.
  190. echo.
  191. for /f %%i in ('dir /b *.Htd') do (
  192. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  193. )
  194. echo.
  195. cd..
  196. )
  197. )
  198. call :get_key
  199. if /i "!key!"=="E" (
  200. @goto :Main
  201. )
  202. if /i "!key!"=="D" (
  203. @goto :Del
  204. )
  205. if /i "!key!"=="R" (
  206. del sleep.com sleep.exe sleep.vbs
  207. exit
  208. )
  209. if /i "!key!"=="Q" (
  210. @goto :New
  211. )
  212. if /i "!key!"=="W" (
  213. @goto :Open
  214. )
  215. if /i "!valid_key!" equ "0" @goto :Task
  216. :Open
  217. if exist Tasks\*.Htd (
  218. set "Content= "
  219. set /p Content=    ^>^> 请输入计划编号:
  220. goto Open_2
  221. ) else cd..&@goto :Task
  222. :Del
  223. if exist Tasks\*.Htd (
  224. set "Content= "
  225. set /p Content=    ^>^> 请输入计划编号:
  226. goto Del_2
  227. ) else cd..&@goto :Task
  228. :Del_2
  229. cd Tasks
  230. if exist %Content%.Htd (
  231. del %Content%.Htd
  232. cd..
  233. goto Task
  234. ) else cd..&goto Task
  235. :Open_2
  236. cd Tasks
  237. if exist %Content%.Htd (
  238. call :Read %Content%
  239. cd..
  240. mode con cols=68 lines=5
  241. @goto :Start
  242. ) else cd..&goto Task
  243. :New
  244. cd Tasks
  245. < Htd.Hdat (
  246. set /p Num=
  247. )
  248. set /a Num+=1
  249. echo.%Num% > Htd.Hdat
  250. cd..
  251. echo.
  252. echo.    ^>^> 新建计划:%Num%
  253. echo.
  254. set "Content=时间到!!!"
  255. set /p Content=    ^>^> 备注:
  256. echo.
  257. set "Content=%Content:>=^>%"
  258. set "Content=%Content:<=^<%"
  259. set "Content=%Content:|=^|%"
  260. set "Title= "
  261. set /p Title=    ^>^> 到时提醒:
  262. echo.
  263. set "Title=%Title:>=^^^>%"
  264. set "Title=%Title:<=^^^<%"
  265. set "Title=%Title:|=^^^|%"
  266. set H=0
  267. set Min=0
  268. set S=0
  269. set H_2=0
  270. set Min_2=0
  271. set S_2=0
  272. set Ms=0
  273. set Ms_2=0
  274. call :Vbs_Sleep 1000
  275. @goto :New_2
  276. :Read
  277. < %1.Htd (
  278. set /p H=
  279. set /p Min=
  280. set /p S=
  281. set /p Ms_2=
  282. set /p Title=
  283. set /p Content=
  284. )
  285. @goto :eof
  286. :New_2
  287. cls
  288. echo.
  289. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  290. echo.
  291. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  292. echo.
  293. call :get_key
  294. call :Settings_Time
  295. if /i "!key!"=="U" (
  296. (
  297. echo.%H%
  298. echo.%Min%
  299. echo.%S%
  300. echo.%Ms_2%
  301. echo.%Title%
  302. echo.%Content%
  303. ) > Tasks\%Num%.Htd
  304. @goto :Task
  305. )
  306. if /i "!valid_key!" equ "0" @goto :New_2
  307. :Error
  308. color 1f
  309. cls
  310. echo.
  311. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  312. echo.
  313. echo.    ^>^> 正在帮您恢复
  314. call :Sleep_Installs
  315. goto :Restart
  316. :Start
  317. set Error=0
  318. cls
  319. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  320. echo.
  321. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  322. echo.
  323. echo.    ^>^> Ctrl+C暂停或退出...
  324. call :Sleep %Time%
  325. if %Error%==1 goto :Error
  326. set /a Ms+=100
  327. if %Ms%==1000 set /a S_2+=1&set Ms=0
  328. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  329. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  330. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  331. if /i "!valid_key!" equ "0" goto :Start
  332. :End
  333. cls
  334. color 4e
  335. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  336. Call :Msg "%Title%" vbExclamation "Hope计时器"
  337. color 0f
  338. @call :Restart
  339. @goto :Main
  340. :Vbs_Sleep
  341. echo.Wscript.Sleep %1 > Sleep.vbs
  342. call Sleep.vbs > nul
  343. if exist ReturnKey.vbs del ReturnKey.vbs
  344. @goto :eof
  345. :Sleep_Installs
  346. color 0f
  347. (
  348. echo.-----BEGIN CERTIFICATE-----
  349. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  350. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  351. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  352. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  353. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  354. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  355. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  356. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  357. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  358. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  359. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  360. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  361. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  362. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  363. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  364. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  365. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  366. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  367. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  368. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  369. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  370. echo.AAAAAAAAAAAAAAAAAAAAAA==
  371. echo.-----END CERTIFICATE-----
  372. ) > Sleep.com
  373. Certutil -Decode Sleep.com Sleep.exe > nul
  374. Certutil -Decode -f Sleep.com Sleep.com > nul
  375. goto :eof
  376. :Sleep
  377. set Error=0
  378. if exist Sleep.exe (
  379. Sleep.exe %1
  380. goto :eof
  381. )
  382. if not exist Sleep.exe if exist Sleep.com (
  383. Sleep.com %1
  384. goto :eof
  385. )
  386. if not exist Sleep.exe if not exist Sleep.com (
  387. set Error=1
  388. goto :eof
  389. )
  390. :get_key
  391. rem 用法:call :get_key
  392. set "key="
  393.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  394.   set "key=%key:~-1%"
  395.   set "valid_key=0"
  396. goto :eof
  397. :Msg
  398. Rem 用法: Call :Msg "Text" [buttons] "Title"
  399. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  400. Call ReturnKey.vbs > nul
  401. if exist ReturnKey.vbs del ReturnKey.vbs
  402. goto :eof
复制代码

作者: cmd1152    时间: 2021-8-13 14:01

1.0.0017下半部分
  1. :Settings_Time
  2. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  3. if /i "!key!"=="q" (
  4. set /a Ms_2+=3600000
  5. set /a H+=1
  6. )
  7. if /i "!key!"=="w" (
  8. set /a Ms_2-=3600000
  9. set /a H-=1
  10. )
  11. if /i "!key!"=="e" (
  12. set /a Ms_2+=60000
  13. set /a Min+=1
  14. )
  15. if /i "!key!"=="r" (
  16. set /a Ms_2-=60000
  17. set /a Min-=1
  18. )
  19. if /i "!key!"=="t" (
  20. set /a Ms_2+=1000
  21. set /a S+=1
  22. )
  23. if /i "!key!"=="y" (
  24. set /a Ms_2-=1000
  25. set /a S-=1
  26. )
  27. )
  28. if %S% Lss 0 (
  29. if %Min% Geq 0 if %H% Geq 0 (
  30. set /a Min-=1&set /a S+=60
  31. )
  32. if %Min% Leq 0 if %H% Leq 0 (
  33. echo.
  34. echo.    ^>^> 算数错误!
  35. call :Vbs_Sleep 100
  36. @call :Restart
  37. )
  38. )
  39. if %Min% Lss 0 (
  40. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  41. if %H% Leq 0 (
  42. echo.
  43. echo.    ^>^> 算数错误!
  44. call :Vbs_Sleep 100
  45. @call :Restart
  46. )
  47. )
  48. if %H% Lss 0 (
  49. echo.
  50. echo.    ^>^> 算数错误!
  51. call :Vbs_Sleep 100
  52. @call :Restart
  53. )
  54. if %Ms_2% Gtr 200000000 (
  55. echo.
  56. echo.    ^>^> 算数错误!
  57. call :Vbs_Sleep 100
  58. @call :Restart
  59. )
  60. if %S% Geq 60 set /a Min+=1&set S=0
  61. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: cmd1152    时间: 2021-8-13 14:04

本帖最后由 cmd1152 于 2021-8-13 14:07 编辑

回复 40# HOPE2021


                                                                                                    合作意向?
                                                                                       [No]                         [Yes]
作者: cmd1152    时间: 2021-8-13 14:18

回复 40# HOPE2021


    1.0.0018修改开始画面 上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. cd..
  9. )
  10. mode con cols=68 lines=5
  11. color f9
  12. endlocal
  13. setlocal enabledelayedexpansion
  14. chcp 936 > nul
  15. Rem By Hope2021
  16. title Hope计时器
  17. for /l %%i in (1,1,3) do (
  18. cls
  19. echo.
  20. echo.
  21. echo.                               -HOPE-
  22. ping/n 1 127.1>nul
  23. cls
  24. echo.
  25. echo.
  26. echo.                               \HOPE\
  27. ping/n 1 127.1>nul
  28. cls
  29. echo.
  30. echo.
  31. echo.                               ^|HOPE^|
  32. ping/n 1 127.1>nul
  33. cls
  34. echo.
  35. echo.
  36. echo.                               /HOPE/
  37. ping/n 1 127.1>nul
  38. )
  39. cls
  40. echo.
  41. echo.                                /    /
  42. echo.                               /HOPE/
  43. echo.                              /    /
  44. ping/n 1 127.1>nul
  45. cls
  46. echo.
  47. echo.                                /-  -/
  48. echo.                               /HOPE/
  49. echo.                              /-  -/
  50. ping/n 1 127.1>nul
  51. cls
  52. echo.
  53. echo.                                /----/
  54. echo.                               /HOPE/
  55. echo.                              /----/
  56. ping/n 1 127.1>nul
  57. ping/n 1 127.1>nul
  58. cls
  59. echo.
  60. echo.
  61. echo.
  62. echo.
  63. ping/n 1 127.1>nul
  64. ping/n 1 127.1>nul
  65. cls
  66. echo.
  67. echo.                                /----/
  68. echo.                               /HOPE/
  69. echo.                              /----/
  70. call :Vbs_Sleep 1000
  71. call :Sleep_Installs
  72. @call :Restart
  73. @goto :Main
  74. :Restart
  75. color 0f
  76. cls
  77. set H=0
  78. set Min=0
  79. set S=0
  80. set H_2=0
  81. set Min_2=0
  82. set S_2=0
  83. set Ms=0
  84. set Ms_2=0
  85. @goto :eof
  86. :Main
  87. mode con cols=68 lines=7
  88. title Hope计时器
  89. set Error=0
  90. cls
  91. echo.
  92. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  93. echo.
  94. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时//退出
  95. echo.
  96. echo.  P 打开计划程序  S 删除计划存储  X 调试
  97. call :get_key
  98. call :Settings_Time
  99. if /i "!key!"=="P" (
  100. set St_1=10001
  101. set En_1=10010
  102. @goto :Task
  103. )
  104. if /i "!key!"=="u" (
  105. mode con cols=68 lines=5
  106. set "Title=时间到!!!"
  107. @goto :Start
  108. )
  109. if /i "!key!"=="x" (
  110. mode con cols=68 lines=34
  111. @goto :Debugging
  112. )
  113. if /i "!key!"=="s" (
  114. rd /s /q tasks
  115. )
  116. if /i "!key!"=="i" (
  117. del sleep.com sleep.exe sleep.vbs
  118. exit
  119. )
  120. if /i "!valid_key!" equ "0" goto :Main
  121. :Debugging
  122. echo.
  123. call :Echo_Debugging
  124. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  125. echo.
  126. echo.    ^>^> 请按回车键开始第一项检查...
  127. echo.
  128. pause > nul
  129. echo.
  130. call :Echo_Debugging
  131. echo.    ^>^> 正在调试 Certutil 性能...
  132. echo.
  133. echo.    ^>^> 请稍等...
  134. echo.
  135. echo.1 > ReturnKey.ini
  136. Certutil -encode ReturnKey.ini Hope.ini > nul
  137. if not exist Hope.ini (
  138. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  139. echo.
  140. echo.    ^>^> 请按回车键退出...
  141. pause > nul
  142. exit
  143. )
  144. if exist ReturnKey.ini del ReturnKey.ini
  145. if exist Hope.ini del Hope.ini
  146. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  147. echo.
  148. echo.    ^>^> 请按回车键继续...
  149. pause > nul
  150. call :Echo_Debugging
  151. echo.    ^>^> 正在安装延时程序,请稍等...
  152. echo.
  153. call :Sleep_Installs
  154. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  155. echo.
  156. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  157. echo.
  158. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  159. echo.
  160. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  161. echo.
  162. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  163. echo.
  164. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  165. echo.
  166. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  167. pause > nul
  168. mode con cols=68 lines=5
  169. for /l %%i in (1,1,50) do (
  170. cls
  171. echo.
  172. echo.
  173. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  174. call :Sleep 100
  175. )
  176. color 4e
  177. cls
  178. echo.
  179. echo.
  180. echo.    ^>^> 请按回车键开始输入读数
  181. pause > nul
  182. cls
  183. echo.
  184. echo.
  185. set /p Math=    ^>^> 请输入读数:
  186. call :VisualSet Result 5/%Math%
  187. call :VisualSet Result 100*%Result%
  188. Md Logs >nul 2>nul
  189. echo.%Result% > Logs\Time.ini
  190. color 0f
  191. cls
  192. echo.
  193. echo.
  194. echo.    ^>^> 请按回车键退出本程序, 退出后, 请您重启本程序...
  195. pause > nul
  196. exit
  197. :VisualSet
  198. @echo off
  199. echo X=%~2>>VisualSet.vbs
  200. echo wscript.echo(X)>>VisualSet.vbs
  201. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  202. if exist VisualSet.vbs del VisualSet.vbs
  203. goto :eof
  204. :Echo_Debugging
  205. mode con cols=68 lines=34
  206. cls
  207. echo.
  208. echo.  Hope计时器[调试程序]
  209. set /p Str=--------------------------------------------------------------------<nul
  210. echo.
  211. echo.
  212. @goto :eof
  213. :Task
  214. mode con cols=68 lines=34
  215. Md Tasks >nul 2>nul
  216. cls
  217. title Hope计时器[计划程序]
  218. set Error=0
  219. echo.
  220. echo.  Hope计时器[计划程序]
  221. set /p Str=--------------------------------------------------------------------<nul
  222. echo.
  223. echo.
  224. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  225. if not exist Tasks\*.Htd (
  226. echo.
  227. echo.    ^>^> 当前没有计划
  228. set /p Str=--------------------------------------------------------------------<nul
  229. echo.
  230. echo.
  231. )
  232. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  233. if exist Tasks\*.Htd (
  234. cd Tasks
  235. echo.
  236. echo.    ^>^> 当前计划列表
  237. set /p Str=--------------------------------------------------------------------<nul
  238. echo.
  239. echo.
  240. for /f %%i in ('dir /b *.Htd') do (
  241. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  242. )
  243. echo.
  244. cd..
  245. )
  246. )
  247. call :get_key
  248. if /i "!key!"=="E" (
  249. @goto :Main
  250. )
  251. if /i "!key!"=="D" (
  252. @goto :Del
  253. )
  254. if /i "!key!"=="R" (
  255. del sleep.com sleep.exe sleep.vbs
  256. exit
  257. )
  258. if /i "!key!"=="Q" (
  259. @goto :New
  260. )
  261. if /i "!key!"=="W" (
  262. @goto :Open
  263. )
  264. if /i "!valid_key!" equ "0" @goto :Task
  265. :Open
  266. if exist Tasks\*.Htd (
  267. set "Content= "
  268. set /p Content=    ^>^> 请输入计划编号:
  269. goto Open_2
  270. ) else cd..&@goto :Task
  271. :Del
  272. if exist Tasks\*.Htd (
  273. set "Content= "
  274. set /p Content=    ^>^> 请输入计划编号:
  275. goto Del_2
  276. ) else cd..&@goto :Task
  277. :Del_2
  278. cd Tasks
  279. if exist %Content%.Htd (
  280. del %Content%.Htd
  281. cd..
  282. goto Task
  283. ) else cd..&goto Task
  284. :Open_2
  285. cd Tasks
  286. if exist %Content%.Htd (
  287. call :Read %Content%
  288. cd..
  289. mode con cols=68 lines=5
  290. @goto :Start
  291. ) else cd..&goto Task
  292. :New
  293. cd Tasks
  294. < Htd.Hdat (
  295. set /p Num=
  296. )
  297. set /a Num+=1
  298. echo.%Num% > Htd.Hdat
  299. cd..
  300. echo.
  301. echo.    ^>^> 新建计划:%Num%
  302. echo.
  303. set "Content=时间到!!!"
  304. set /p Content=    ^>^> 备注:
  305. echo.
  306. set "Content=%Content:>=^>%"
  307. set "Content=%Content:<=^<%"
  308. set "Content=%Content:|=^|%"
  309. set "Title= "
  310. set /p Title=    ^>^> 到时提醒:
  311. echo.
  312. set "Title=%Title:>=^^^>%"
  313. set "Title=%Title:<=^^^<%"
  314. set "Title=%Title:|=^^^|%"
  315. set H=0
  316. set Min=0
  317. set S=0
  318. set H_2=0
  319. set Min_2=0
  320. set S_2=0
  321. set Ms=0
  322. set Ms_2=0
  323. call :Vbs_Sleep 1000
  324. @goto :New_2
复制代码

作者: cmd1152    时间: 2021-8-13 14:18

回复 40# HOPE2021


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

作者: HOPE2021    时间: 2021-8-13 14:21

回复 45# cmd1152
更新永无止境!
作者: cmd1152    时间: 2021-8-13 14:25

本帖最后由 cmd1152 于 2021-8-13 15:36 编辑

回复 40# HOPE2021


    1.0.0019 上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. cd..
  9. )
  10. mode con cols=68 lines=5
  11. color f9
  12. endlocal
  13. setlocal enabledelayedexpansion
  14. chcp 936 > nul
  15. Rem By Hope2021
  16. title Hope计时器
  17. for /l %%i in (1,1,3) do (
  18. cls
  19. echo.
  20. echo.
  21. echo.                               -HOPE-
  22. ping/n 1 127.1>nul
  23. cls
  24. echo.
  25. echo.
  26. echo.                               \HOPE\
  27. ping/n 1 127.1>nul
  28. cls
  29. echo.
  30. echo.
  31. echo.                               ^|HOPE^|
  32. ping/n 1 127.1>nul
  33. cls
  34. echo.
  35. echo.
  36. echo.                               /HOPE/
  37. ping/n 1 127.1>nul
  38. )
  39. cls
  40. echo.
  41. echo.                                /    /
  42. echo.                               /HOPE/
  43. echo.                              /    /
  44. ping/n 1 127.1>nul
  45. cls
  46. echo.
  47. echo.                                /-  -/
  48. echo.                               /HOPE/
  49. echo.                              /-  -/
  50. ping/n 1 127.1>nul
  51. cls
  52. echo.
  53. echo.                                /----/
  54. echo.                               /HOPE/
  55. echo.                              /----/
  56. ping/n 1 127.1>nul
  57. ping/n 1 127.1>nul
  58. cls
  59. echo.
  60. echo.
  61. echo.
  62. echo.
  63. ping/n 1 127.1>nul
  64. ping/n 1 127.1>nul
  65. cls
  66. echo.
  67. echo.                                /----/
  68. echo.                               /HOPE/
  69. echo.                              /----/
  70. call :Vbs_Sleep 1000
  71. call :Sleep_Installs
  72. @call :Restart
  73. @goto :Main
  74. :Restart
  75. color 0f
  76. cls
  77. set H=0
  78. set Min=0
  79. set S=0
  80. set H_2=0
  81. set Min_2=0
  82. set S_2=0
  83. set Ms=0
  84. set Ms_2=0
  85. @goto :eof
  86. :Main
  87. mode con cols=68 lines=7
  88. title Hope计时器
  89. set Error=0
  90. cls
  91. echo.
  92. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  93. echo.
  94. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  95. echo.
  96. echo.  P 打开计划程序  S 删除计划存储  X 调试        H 恢复到调试前
  97. call :get_key
  98. call :Settings_Time
  99. if /i "!key!"=="P" (
  100. set St_1=10001
  101. set En_1=10010
  102. @goto :Task
  103. )
  104. if /i "!key!"=="u" (
  105. mode con cols=68 lines=5
  106. set "Title=时间到!!!"
  107. @goto :Start
  108. )
  109. if /i "!key!"=="x" (
  110. mode con cols=68 lines=34
  111. @goto :Debugging
  112. )
  113. if /i "!key!"=="h" (
  114. rd /s /q logs >nul 2>nul
  115. )
  116. if /i "!key!"=="s" (
  117. rd /s /q tasks >nul 2>nul
  118. )
  119. if /i "!key!"=="i" (
  120. del sleep.com sleep.exe sleep.vbs
  121. exit
  122. )
  123. if /i "!valid_key!" equ "0" goto :Main
  124. :Debugging
  125. echo.
  126. call :Echo_Debugging
  127. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  128. echo.
  129. echo.    ^>^> 请按回车键开始第一项检查...
  130. echo.
  131. pause > nul
  132. echo.
  133. call :Echo_Debugging
  134. echo.    ^>^> 正在调试 Certutil 性能...
  135. echo.
  136. echo.    ^>^> 请稍等...
  137. echo.
  138. echo.1 > ReturnKey.ini
  139. Certutil -encode ReturnKey.ini Hope.ini > nul
  140. if not exist Hope.ini (
  141. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  142. echo.
  143. echo.    ^>^> 请按回车键退出...
  144. pause > nul
  145. exit
  146. )
  147. if exist ReturnKey.ini del ReturnKey.ini
  148. if exist Hope.ini del Hope.ini
  149. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  150. echo.
  151. echo.    ^>^> 请按回车键继续...
  152. pause > nul
  153. call :Echo_Debugging
  154. echo.    ^>^> 正在安装延时程序,请稍等...
  155. echo.
  156. call :Sleep_Installs
  157. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  158. echo.
  159. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  160. echo.
  161. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  162. echo.
  163. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  164. echo.
  165. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  166. echo.
  167. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  168. echo.
  169. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  170. pause > nul
  171. mode con cols=68 lines=5
  172. for /l %%i in (1,1,50) do (
  173. cls
  174. echo.
  175. echo.
  176. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  177. call :Sleep 100
  178. )
  179. color 4e
  180. cls
  181. echo.
  182. echo.
  183. echo.    ^>^> 请按回车键开始输入读数
  184. pause > nul
  185. cls
  186. echo.
  187. echo.
  188. set /p Math=    ^>^> 请输入读数:
  189. call :VisualSet Result 5/%Math%
  190. call :VisualSet Result 100*%Result%
  191. Md Logs >nul 2>nul
  192. echo.%Result% > Logs\Time.ini
  193. color 0f
  194. cls
  195. echo.
  196. echo.
  197. echo.    ^>^> 请按回车键退出本程序, 退出后, 请您重启本程序...
  198. pause > nul
  199. exit
  200. :VisualSet
  201. @echo off
  202. echo X=%~2>>VisualSet.vbs
  203. echo wscript.echo(X)>>VisualSet.vbs
  204. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  205. if exist VisualSet.vbs del VisualSet.vbs
  206. goto :eof
  207. :Echo_Debugging
  208. mode con cols=68 lines=34
  209. cls
  210. echo.
  211. echo.  Hope计时器[调试程序]
  212. set /p Str=--------------------------------------------------------------------<nul
  213. echo.
  214. echo.
  215. @goto :eof
  216. :Task
  217. mode con cols=68 lines=34
  218. Md Tasks >nul 2>nul
  219. cls
  220. title Hope计时器[计划程序]
  221. set Error=0
  222. echo.
  223. echo.  Hope计时器[计划程序]
  224. set /p Str=--------------------------------------------------------------------<nul
  225. echo.
  226. echo.
  227. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  228. if not exist Tasks\*.Htd (
  229. echo.
  230. echo.    ^>^> 当前没有计划
  231. set /p Str=--------------------------------------------------------------------<nul
  232. echo.
  233. echo.
  234. )
  235. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  236. if exist Tasks\*.Htd (
  237. cd Tasks
  238. echo.
  239. echo.    ^>^> 当前计划列表
  240. set /p Str=--------------------------------------------------------------------<nul
  241. echo.
  242. echo.
  243. for /f %%i in ('dir /b *.Htd') do (
  244. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  245. )
  246. echo.
  247. cd..
  248. )
  249. )
  250. call :get_key
  251. if /i "!key!"=="E" (
  252. @goto :Main
  253. )
  254. if /i "!key!"=="D" (
  255. @goto :Del
  256. )
  257. if /i "!key!"=="R" (
  258. del sleep.com sleep.exe sleep.vbs
  259. exit
  260. )
  261. if /i "!key!"=="Q" (
  262. @goto :New
  263. )
  264. if /i "!key!"=="W" (
  265. @goto :Open
  266. )
  267. if /i "!valid_key!" equ "0" @goto :Task
  268. :Open
  269. if exist Tasks\*.Htd (
  270. set "Content= "
  271. set /p Content=    ^>^> 请输入计划编号:
  272. goto Open_2
  273. ) else cd..&@goto :Task
  274. :Del
  275. if exist Tasks\*.Htd (
  276. set "Content= "
  277. set /p Content=    ^>^> 请输入计划编号:
  278. goto Del_2
  279. ) else cd..&@goto :Task
  280. :Del_2
  281. cd Tasks
  282. if exist %Content%.Htd (
  283. del %Content%.Htd
  284. cd..
  285. goto Task
  286. ) else cd..&goto Task
  287. :Open_2
  288. cd Tasks
  289. if exist %Content%.Htd (
  290. call :Read %Content%
  291. cd..
  292. mode con cols=68 lines=5
  293. @goto :Start
  294. ) else cd..&goto Task
  295. :New
  296. cd Tasks
  297. < Htd.Hdat (
  298. set /p Num=
  299. )
  300. set /a Num+=1
  301. echo.%Num% > Htd.Hdat
  302. cd..
  303. echo.
  304. echo.    ^>^> 新建计划:%Num%
  305. echo.
  306. set "Content=时间到!!!"
  307. set /p Content=    ^>^> 备注:
  308. echo.
  309. set "Content=%Content:>=^>%"
  310. set "Content=%Content:<=^<%"
  311. set "Content=%Content:|=^|%"
  312. set "Title= "
  313. set /p Title=    ^>^> 到时提醒:
  314. echo.
  315. set "Title=%Title:>=^^^>%"
  316. set "Title=%Title:<=^^^<%"
  317. set "Title=%Title:|=^^^|%"
  318. set H=0
  319. set Min=0
  320. set S=0
  321. set H_2=0
  322. set Min_2=0
  323. set S_2=0
  324. set Ms=0
  325. set Ms_2=0
  326. call :Vbs_Sleep 1000
  327. @goto :New_2
  328. :Read
  329. < %1.Htd (
  330. set /p H=
  331. set /p Min=
  332. set /p S=
  333. set /p Ms_2=
  334. set /p Title=
  335. set /p Content=
  336. )
  337. @goto :eof
复制代码

作者: cmd1152    时间: 2021-8-13 14:26

回复 46# HOPE2021


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

作者: cmd1152    时间: 2021-8-13 14:27

回复 46# HOPE2021


    合作吗?
作者: HOPE2021    时间: 2021-8-13 14:28

回复 49# cmd1152
当然
作者: cmd1152    时间: 2021-8-13 14:29

回复 46# HOPE2021


    开始计时//退出 为什么多了一个/
U/I 开始计时//退出

作者: cmd1152    时间: 2021-8-13 14:29

回复 50# HOPE2021


    太好了
作者: HOPE2021    时间: 2021-8-13 14:30

回复 51# cmd1152
仅用于对称
作者: HOPE2021    时间: 2021-8-13 14:31

提醒:要先del才能Rd
作者: cmd1152    时间: 2021-8-13 14:32

回复 53# HOPE2021


    还是去掉吧,否则看着难受
作者: HOPE2021    时间: 2021-8-13 14:32

回复 55# cmd1152
也可以
作者: cmd1152    时间: 2021-8-13 14:33

本帖最后由 cmd1152 于 2021-8-13 15:09 编辑

回复 51# cmd1152


    1.0.0020 手动重启程序换成自动重启程序上半部分
  1. @echo off
  2. if not exist Logs\Time.ini set Time=100
  3. if exist Logs\Time.ini (
  4. cd Logs
  5. < Time.ini (
  6. set /p Time=
  7. )
  8. cd..
  9. )
  10. mode con cols=68 lines=5
  11. color f9
  12. endlocal
  13. setlocal enabledelayedexpansion
  14. chcp 936 > nul
  15. Rem By Hope2021
  16. title Hope计时器
  17. for /l %%i in (1,1,3) do (
  18. cls
  19. echo.
  20. echo.
  21. echo.                               -HOPE-
  22. ping/n 1 127.1>nul
  23. cls
  24. echo.
  25. echo.
  26. echo.                               \HOPE\
  27. ping/n 1 127.1>nul
  28. cls
  29. echo.
  30. echo.
  31. echo.                               ^|HOPE^|
  32. ping/n 1 127.1>nul
  33. cls
  34. echo.
  35. echo.
  36. echo.                               /HOPE/
  37. ping/n 1 127.1>nul
  38. )
  39. cls
  40. echo.
  41. echo.                                /    /
  42. echo.                               /HOPE/
  43. echo.                              /    /
  44. ping/n 1 127.1>nul
  45. cls
  46. echo.
  47. echo.                                /-  -/
  48. echo.                               /HOPE/
  49. echo.                              /-  -/
  50. ping/n 1 127.1>nul
  51. cls
  52. echo.
  53. echo.                                /----/
  54. echo.                               /HOPE/
  55. echo.                              /----/
  56. ping/n 1 127.1>nul
  57. ping/n 1 127.1>nul
  58. cls
  59. echo.
  60. echo.
  61. echo.
  62. echo.
  63. ping/n 1 127.1>nul
  64. ping/n 1 127.1>nul
  65. cls
  66. echo.
  67. echo.                                /----/
  68. echo.                               /HOPE/
  69. echo.                              /----/
  70. call :Vbs_Sleep 1000
  71. call :Sleep_Installs
  72. @call :Restart
  73. @goto :Main
  74. :Restart
  75. color 0f
  76. cls
  77. set H=0
  78. set Min=0
  79. set S=0
  80. set H_2=0
  81. set Min_2=0
  82. set S_2=0
  83. set Ms=0
  84. set Ms_2=0
  85. @goto :eof
  86. :Main
  87. mode con cols=68 lines=7
  88. title Hope计时器
  89. set Error=0
  90. cls
  91. echo.
  92. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  93. echo.
  94. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  95. echo.
  96. echo.  P 打开计划程序  S 删除计划存储  X 调试        H 恢复到调试前
  97. call :get_key
  98. call :Settings_Time
  99. if /i "!key!"=="P" (
  100. set St_1=10001
  101. set En_1=10010
  102. @goto :Task
  103. )
  104. if /i "!key!"=="u" (
  105. mode con cols=68 lines=5
  106. set "Title=时间到!!!"
  107. @goto :Start
  108. )
  109. if /i "!key!"=="x" (
  110. mode con cols=68 lines=34
  111. @goto :Debugging
  112. )
  113. if /i "!key!"=="h" (
  114. rd /s /q logs >nul 2>nul
  115. )
  116. if /i "!key!"=="s" (
  117. rd /s /q tasks >nul 2>nul
  118. )
  119. if /i "!key!"=="i" (
  120. del sleep.com sleep.exe sleep.vbs
  121. exit
  122. )
  123. if /i "!valid_key!" equ "0" goto :Main
  124. :Debugging
  125. echo.
  126. call :Echo_Debugging
  127. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  128. echo.
  129. echo.    ^>^> 请按回车键开始第一项检查...
  130. echo.
  131. pause > nul
  132. echo.
  133. call :Echo_Debugging
  134. echo.    ^>^> 正在调试 Certutil 性能...
  135. echo.
  136. echo.    ^>^> 请稍等...
  137. echo.
  138. echo.1 > ReturnKey.ini
  139. Certutil -encode ReturnKey.ini Hope.ini > nul
  140. if not exist Hope.ini (
  141. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  142. echo.
  143. echo.    ^>^> 请按回车键退出...
  144. pause > nul
  145. exit
  146. )
  147. if exist ReturnKey.ini del ReturnKey.ini
  148. if exist Hope.ini del Hope.ini
  149. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  150. echo.
  151. echo.    ^>^> 请按回车键继续...
  152. pause > nul
  153. call :Echo_Debugging
  154. echo.    ^>^> 正在安装延时程序,请稍等...
  155. echo.
  156. call :Sleep_Installs
  157. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  158. echo.
  159. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  160. echo.
  161. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  162. echo.
  163. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  164. echo.
  165. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  166. echo.
  167. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  168. echo.
  169. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  170. pause > nul
  171. mode con cols=68 lines=5
  172. for /l %%i in (1,1,50) do (
  173. cls
  174. echo.
  175. echo.
  176. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  177. call :Sleep 100
  178. )
  179. color 4e
  180. cls
  181. echo.
  182. echo.
  183. echo.    ^>^> 请按回车键开始输入读数
  184. pause > nul
  185. cls
  186. echo.
  187. echo.
  188. set /p Math=    ^>^> 请输入读数:
  189. call :VisualSet Result 5/%Math%
  190. call :VisualSet Result 100*%Result%
  191. Md Logs >nul 2>nul
  192. echo.%Result% > Logs\Time.ini
  193. color 0f
  194. cls
  195. echo.
  196. echo.
  197. echo.    ^>^> 请按回车键重启本程序...
  198. pause > nul
  199. start %~0
  200. exit
  201. :VisualSet
  202. @echo off
  203. echo X=%~2>>VisualSet.vbs
  204. echo wscript.echo(X)>>VisualSet.vbs
  205. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  206. if exist VisualSet.vbs del VisualSet.vbs
  207. goto :eof
  208. :Echo_Debugging
  209. mode con cols=68 lines=34
  210. cls
  211. echo.
  212. echo.  Hope计时器[调试程序]
  213. set /p Str=--------------------------------------------------------------------<nul
  214. echo.
  215. echo.
  216. @goto :eof
  217. :Task
  218. mode con cols=68 lines=34
  219. Md Tasks >nul 2>nul
  220. cls
  221. title Hope计时器[计划程序]
  222. set Error=0
  223. echo.
  224. echo.  Hope计时器[计划程序]
  225. set /p Str=--------------------------------------------------------------------<nul
  226. echo.
  227. echo.
  228. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  229. if not exist Tasks\*.Htd (
  230. echo.
  231. echo.    ^>^> 当前没有计划
  232. set /p Str=--------------------------------------------------------------------<nul
  233. echo.
  234. echo.
  235. )
  236. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  237. if exist Tasks\*.Htd (
  238. cd Tasks
  239. echo.
  240. echo.    ^>^> 当前计划列表
  241. set /p Str=--------------------------------------------------------------------<nul
  242. echo.
  243. echo.
  244. for /f %%i in ('dir /b *.Htd') do (
  245. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  246. )
  247. echo.
  248. cd..
  249. )
  250. )
  251. call :get_key
  252. if /i "!key!"=="E" (
  253. @goto :Main
  254. )
  255. if /i "!key!"=="D" (
  256. @goto :Del
  257. )
  258. if /i "!key!"=="R" (
  259. del sleep.com sleep.exe sleep.vbs
  260. exit
  261. )
  262. if /i "!key!"=="Q" (
  263. @goto :New
  264. )
  265. if /i "!key!"=="W" (
  266. @goto :Open
  267. )
  268. if /i "!valid_key!" equ "0" @goto :Task
  269. :Open
  270. if exist Tasks\*.Htd (
  271. set "Content= "
  272. set /p Content=    ^>^> 请输入计划编号:
  273. goto Open_2
  274. ) else cd..&@goto :Task
  275. :Del
  276. if exist Tasks\*.Htd (
  277. set "Content= "
  278. set /p Content=    ^>^> 请输入计划编号:
  279. goto Del_2
  280. ) else cd..&@goto :Task
  281. :Del_2
  282. cd Tasks
  283. if exist %Content%.Htd (
  284. del %Content%.Htd
  285. cd..
  286. goto Task
  287. ) else cd..&goto Task
  288. :Open_2
  289. cd Tasks
  290. if exist %Content%.Htd (
  291. call :Read %Content%
  292. cd..
  293. mode con cols=68 lines=5
  294. @goto :Start
  295. ) else cd..&goto Task
  296. :New
  297. cd Tasks
  298. < Htd.Hdat (
  299. set /p Num=
  300. )
  301. set /a Num+=1
  302. echo.%Num% > Htd.Hdat
  303. cd..
  304. echo.
  305. echo.    ^>^> 新建计划:%Num%
  306. echo.
  307. set "Content=时间到!!!"
  308. set /p Content=    ^>^> 备注:
  309. echo.
  310. set "Content=%Content:>=^>%"
  311. set "Content=%Content:<=^<%"
  312. set "Content=%Content:|=^|%"
  313. set "Title= "
  314. set /p Title=    ^>^> 到时提醒:
  315. echo.
  316. set "Title=%Title:>=^^^>%"
  317. set "Title=%Title:<=^^^<%"
  318. set "Title=%Title:|=^^^|%"
  319. set H=0
  320. set Min=0
  321. set S=0
  322. set H_2=0
  323. set Min_2=0
  324. set S_2=0
  325. set Ms=0
  326. set Ms_2=0
  327. call :Vbs_Sleep 1000
  328. @goto :New_2
  329. :Read
  330. < %1.Htd (
  331. set /p H=
  332. set /p Min=
  333. set /p S=
  334. set /p Ms_2=
  335. set /p Title=
  336. set /p Content=
  337. )
  338. @goto :eof
复制代码

作者: cmd1152    时间: 2021-8-13 14:34

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

作者: cmd1152    时间: 2021-8-13 14:38

本帖最后由 cmd1152 于 2021-8-13 14:47 编辑

回复 56# HOPE2021


    1.0.0021增加版权声明上半部分
  1. @echo off&goto :tp
  2. 版权声明:
  3. 本程序是由HOPE2021和cmd1152共同制作
  4. 未经同意,禁止转载!
  5. :tp
  6. if not exist Logs\Time.ini set Time=100
  7. if exist Logs\Time.ini (
  8. cd Logs
  9. < Time.ini (
  10. set /p Time=
  11. )
  12. cd..
  13. )
  14. mode con cols=68 lines=5
  15. color f9
  16. endlocal
  17. setlocal enabledelayedexpansion
  18. chcp 936 > nul
  19. Rem By Hope2021
  20. title Hope计时器
  21. for /l %%i in (1,1,3) do (
  22. cls
  23. echo.
  24. echo.
  25. echo.                               -HOPE-
  26. ping/n 1 127.1>nul
  27. cls
  28. echo.
  29. echo.
  30. echo.                               \HOPE\
  31. ping/n 1 127.1>nul
  32. cls
  33. echo.
  34. echo.
  35. echo.                               ^|HOPE^|
  36. ping/n 1 127.1>nul
  37. cls
  38. echo.
  39. echo.
  40. echo.                               /HOPE/
  41. ping/n 1 127.1>nul
  42. )
  43. cls
  44. echo.
  45. echo.                                /    /
  46. echo.                               /HOPE/
  47. echo.                              /    /
  48. ping/n 1 127.1>nul
  49. cls
  50. echo.
  51. echo.                                /-  -/
  52. echo.                               /HOPE/
  53. echo.                              /-  -/
  54. ping/n 1 127.1>nul
  55. cls
  56. echo.
  57. echo.                                /----/
  58. echo.                               /HOPE/
  59. echo.                              /----/
  60. ping/n 1 127.1>nul
  61. ping/n 1 127.1>nul
  62. cls
  63. echo.
  64. echo.
  65. echo.
  66. echo.
  67. ping/n 1 127.1>nul
  68. ping/n 1 127.1>nul
  69. cls
  70. echo.
  71. echo.                                /----/
  72. echo.                               /HOPE/
  73. echo.                              /----/
  74. call :Vbs_Sleep 1000
  75. call :Sleep_Installs
  76. @call :Restart
  77. @goto :Main
  78. :Restart
  79. color 0f
  80. cls
  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. @goto :eof
  90. :Main
  91. mode con cols=68 lines=7
  92. title Hope计时器
  93. set Error=0
  94. cls
  95. echo.
  96. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  97. echo.
  98. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  99. echo.
  100. echo.  P 打开计划程序  S 删除计划存储  X 调试        H 恢复到调试前
  101. call :get_key
  102. call :Settings_Time
  103. if /i "!key!"=="P" (
  104. set St_1=10001
  105. set En_1=10010
  106. @goto :Task
  107. )
  108. if /i "!key!"=="u" (
  109. mode con cols=68 lines=5
  110. set "Title=时间到!!!"
  111. @goto :Start
  112. )
  113. if /i "!key!"=="x" (
  114. mode con cols=68 lines=34
  115. @goto :Debugging
  116. )
  117. if /i "!key!"=="h" (
  118. rd /s /q logs >nul 2>nul
  119. )
  120. if /i "!key!"=="s" (
  121. rd /s /q tasks >nul 2>nul
  122. )
  123. if /i "!key!"=="i" (
  124. del sleep.com sleep.exe sleep.vbs
  125. exit
  126. )
  127. if /i "!valid_key!" equ "0" goto :Main
  128. :Debugging
  129. echo.
  130. call :Echo_Debugging
  131. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  132. echo.
  133. echo.    ^>^> 请按回车键开始第一项检查...
  134. echo.
  135. pause > nul
  136. echo.
  137. call :Echo_Debugging
  138. echo.    ^>^> 正在调试 Certutil 性能...
  139. echo.
  140. echo.    ^>^> 请稍等...
  141. echo.
  142. echo.1 > ReturnKey.ini
  143. Certutil -encode ReturnKey.ini Hope.ini > nul
  144. if not exist Hope.ini (
  145. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  146. echo.
  147. echo.    ^>^> 请按回车键退出...
  148. pause > nul
  149. exit
  150. )
  151. if exist ReturnKey.ini del ReturnKey.ini
  152. if exist Hope.ini del Hope.ini
  153. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  154. echo.
  155. echo.    ^>^> 请按回车键继续...
  156. pause > nul
  157. call :Echo_Debugging
  158. echo.    ^>^> 正在安装延时程序,请稍等...
  159. echo.
  160. call :Sleep_Installs
  161. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  162. echo.
  163. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  164. echo.
  165. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  166. echo.
  167. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  168. echo.
  169. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  170. echo.
  171. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  172. echo.
  173. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  174. pause > nul
  175. mode con cols=68 lines=5
  176. for /l %%i in (1,1,50) do (
  177. cls
  178. echo.
  179. echo.
  180. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  181. call :Sleep 100
  182. )
  183. color 4e
  184. cls
  185. echo.
  186. echo.
  187. echo.    ^>^> 请按回车键开始输入读数
  188. pause > nul
  189. cls
  190. echo.
  191. echo.
  192. set /p Math=    ^>^> 请输入读数:
  193. call :VisualSet Result 5/%Math%
  194. call :VisualSet Result 100*%Result%
  195. Md Logs >nul 2>nul
  196. echo.%Result% > Logs\Time.ini
  197. color 0f
  198. cls
  199. echo.
  200. echo.
  201. echo.    ^>^> 请按回车键重启本程序...
  202. pause > nul
  203. start %0
  204. exit
  205. :VisualSet
  206. @echo off
  207. echo X=%~2>>VisualSet.vbs
  208. echo wscript.echo(X)>>VisualSet.vbs
  209. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  210. if exist VisualSet.vbs del VisualSet.vbs
  211. goto :eof
  212. :Echo_Debugging
  213. mode con cols=68 lines=34
  214. cls
  215. echo.
  216. echo.  Hope计时器[调试程序]
  217. set /p Str=--------------------------------------------------------------------<nul
  218. echo.
  219. echo.
  220. @goto :eof
  221. :Task
  222. mode con cols=68 lines=34
  223. Md Tasks >nul 2>nul
  224. cls
  225. title Hope计时器[计划程序]
  226. set Error=0
  227. echo.
  228. echo.  Hope计时器[计划程序]
  229. set /p Str=--------------------------------------------------------------------<nul
  230. echo.
  231. echo.
  232. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  233. if not exist Tasks\*.Htd (
  234. echo.
  235. echo.    ^>^> 当前没有计划
  236. set /p Str=--------------------------------------------------------------------<nul
  237. echo.
  238. echo.
  239. )
  240. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  241. if exist Tasks\*.Htd (
  242. cd Tasks
  243. echo.
  244. echo.    ^>^> 当前计划列表
  245. set /p Str=--------------------------------------------------------------------<nul
  246. echo.
  247. echo.
  248. for /f %%i in ('dir /b *.Htd') do (
  249. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  250. )
  251. echo.
  252. cd..
  253. )
  254. )
  255. call :get_key
  256. if /i "!key!"=="E" (
  257. @goto :Main
  258. )
  259. if /i "!key!"=="D" (
  260. @goto :Del
  261. )
  262. if /i "!key!"=="R" (
  263. del sleep.com sleep.exe sleep.vbs
  264. exit
  265. )
  266. if /i "!key!"=="Q" (
  267. @goto :New
  268. )
  269. if /i "!key!"=="W" (
  270. @goto :Open
  271. )
  272. if /i "!valid_key!" equ "0" @goto :Task
  273. :Open
  274. if exist Tasks\*.Htd (
  275. set "Content= "
  276. set /p Content=    ^>^> 请输入计划编号:
  277. goto Open_2
  278. ) else cd..&@goto :Task
  279. :Del
  280. if exist Tasks\*.Htd (
  281. set "Content= "
  282. set /p Content=    ^>^> 请输入计划编号:
  283. goto Del_2
  284. ) else cd..&@goto :Task
  285. :Del_2
  286. cd Tasks
  287. if exist %Content%.Htd (
  288. del %Content%.Htd
  289. cd..
  290. goto Task
  291. ) else cd..&goto Task
  292. :Open_2
  293. cd Tasks
  294. if exist %Content%.Htd (
  295. call :Read %Content%
  296. cd..
  297. mode con cols=68 lines=5
  298. @goto :Start
  299. ) else cd..&goto Task
  300. :New
  301. cd Tasks
  302. < Htd.Hdat (
  303. set /p Num=
  304. )
  305. set /a Num+=1
  306. echo.%Num% > Htd.Hdat
  307. cd..
  308. echo.
  309. echo.    ^>^> 新建计划:%Num%
  310. echo.
  311. set "Content=时间到!!!"
  312. set /p Content=    ^>^> 备注:
  313. echo.
  314. set "Content=%Content:>=^>%"
  315. set "Content=%Content:<=^<%"
  316. set "Content=%Content:|=^|%"
  317. set "Title= "
  318. set /p Title=    ^>^> 到时提醒:
  319. echo.
  320. set "Title=%Title:>=^^^>%"
  321. set "Title=%Title:<=^^^<%"
  322. set "Title=%Title:|=^^^|%"
  323. set H=0
  324. set Min=0
  325. set S=0
  326. set H_2=0
  327. set Min_2=0
  328. set S_2=0
  329. set Ms=0
  330. set Ms_2=0
  331. call :Vbs_Sleep 1000
  332. @goto :New_2
复制代码

作者: cmd1152    时间: 2021-8-13 14:39

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

作者: HOPE2021    时间: 2021-8-13 14:41

回复 60# cmd1152
开源主义[建立在之时产权之上]
下午我没时间,大约4点我会推出新功能
作者: cmd1152    时间: 2021-8-13 14:43

回复 61# HOPE2021


    OK
作者: cmd1152    时间: 2021-8-13 15:02

本帖最后由 cmd1152 于 2021-8-13 15:08 编辑

回复 61# HOPE2021


    1.0.00231.0.0022不见了,1.0.0022版本是更改开始动画的,1.0.0023增加一个功能  这个是上半部分
  1. @echo off&goto :tp
  2. 版权声明:
  3. 本程序是由HOPE2021和cmd1152共同制作
  4. 未经同意,禁止转载!
  5. :tp
  6. if not exist Logs\Time.ini set Time=100
  7. if exist Logs\Time.ini (
  8. cd Logs
  9. < Time.ini (
  10. set /p Time=
  11. )
  12. cd..
  13. )
  14. mode con cols=68 lines=5
  15. color f9
  16. endlocal
  17. setlocal enabledelayedexpansion
  18. chcp 936 > nul
  19. Rem By Hope2021
  20. title Hope计时器
  21. for /l %%i in (1,1,3) do (
  22. cls
  23. echo.
  24. echo.
  25. echo.                               -HOPE-
  26. ping/n 1 127.1>nul
  27. cls
  28. echo.
  29. echo.
  30. echo.                               \HOPE\
  31. ping/n 1 127.1>nul
  32. cls
  33. echo.
  34. echo.
  35. echo.                               ^|HOPE^|
  36. ping/n 1 127.1>nul
  37. cls
  38. echo.
  39. echo.
  40. echo.                               /HOPE/
  41. ping/n 1 127.1>nul
  42. )
  43. cls
  44. echo.
  45. echo.                                /    /
  46. echo.                               /HOPE/
  47. echo.                              /    /
  48. ping/n 1 127.1>nul
  49. cls
  50. echo.
  51. echo.                                /-  -/
  52. echo.                               /HOPE/
  53. echo.                              /-  -/
  54. ping/n 1 127.1>nul
  55. cls
  56. echo.
  57. echo.                                /----/
  58. echo.                               /HOPE/
  59. echo.                              /----/
  60. ping/n 1 127.1>nul
  61. cls
  62. echo.
  63. echo.                                ------
  64. echo.                               /HOPE/
  65. echo.                              ------
  66. ping/n 1 127.1>nul
  67. cls
  68. echo.
  69. echo.                               --------
  70. echo.                               -HOPE-
  71. echo.                             --------
  72. ping/n 1 127.1>nul
  73. cls
  74. echo.
  75. echo.                              ---------
  76. echo.                              --HOPE--
  77. echo.                             ---------
  78. ping/n 1 127.1>nul
  79. for /l %%i in (1,1,3) do (
  80. cls
  81. echo.
  82. echo.                             ----------
  83. echo.                             ---HOPE---
  84. echo.                             ----------
  85. ping/n 1 127.1>nul
  86. cls
  87. echo.
  88. echo.                             - --------
  89. echo.                              --HOPE---
  90. echo.                             ----------
  91. ping/n 1 127.1>nul
  92. cls
  93. echo.
  94. echo.                             --- ------
  95. echo.                             -- HOPE---
  96. echo.                             - --------
  97. ping/n 1 127.1>nul
  98. cls
  99. echo.
  100. echo.                             ----- ----
  101. echo.                             ---H PE---
  102. echo.                             --- ------
  103. ping/n 1 127.1>nul
  104. cls
  105. echo.
  106. echo.                             ------- --
  107. echo.                             ---HOP ---
  108. echo.                             ----- ----
  109. ping/n 1 127.1>nul
  110. cls
  111. echo.
  112. echo.                             ---------
  113. echo.                             ---HOPE- -
  114. echo.                             ------- --
  115. ping/n 1 127.1>nul
  116. cls
  117. echo.
  118. echo.                             ----------
  119. echo.                             ---HOPE---
  120. echo.                             ---------
  121. ping/n 1 127.1>nul
  122. cls
  123. echo.
  124. echo.                             ----------
  125. echo.                             ---HOPE---
  126. echo.                             ----------
  127. ping/n 1 127.1>nul
  128. )
  129. ping/n 1 127.1>nul
  130. cls
  131. call :Sleep_Installs
  132. @call :Restart
  133. @goto :Main
  134. :Restart
  135. color 0f
  136. cls
  137. set H=0
  138. set Min=0
  139. set S=0
  140. set H_2=0
  141. set Min_2=0
  142. set S_2=0
  143. set Ms=0
  144. set Ms_2=0
  145. @goto :eof
  146. :Main
  147. mode con cols=68 lines=9
  148. title Hope计时器
  149. set Error=0
  150. cls
  151. color 0f
  152. echo.
  153. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  154. echo.
  155. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  156. echo.
  157. echo.  P 打开计划程序  S 删除计划存储  X 调试        H 恢复到调试前
  158. echo.
  159. echo.  G 更改颜色
  160. call :get_key
  161. call :Settings_Time
  162. if /i "!key!"=="P" (
  163. set St_1=10001
  164. set En_1=10010
  165. @goto :Task
  166. )
  167. if /i "!key!"=="u" (
  168. mode con cols=68 lines=5
  169. set "Title=时间到!!!"
  170. @goto :Start
  171. )
  172. if /i "!key!"=="x" (
  173. mode con cols=68 lines=34
  174. @goto :Debugging
  175. )
  176. if /i "!key!"=="g" (
  177. cls
  178. mode con cols=64 lines=13
  179. echo.颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为
  180. echo.前景。每个数字可以为以下任何值之一:
  181. echo.
  182. echo.    0 = 黑色       8 = 灰色
  183. echo.    1 = 蓝色       9 = 淡蓝色
  184. echo.    2 = 绿色       A = 淡绿色
  185. echo.    3 = 浅绿色     B = 淡浅绿色
  186. echo.    4 = 红色       C = 淡红色
  187. echo.    5 = 紫色       D = 淡紫色
  188. echo.    6 = 黄色       E = 淡黄色
  189. echo.    7 = 白色       F = 亮白色
  190. set /p color=输入颜色码,例如0a^>
  191. color %color%
  192. goto :Main
  193. )
  194. if /i "!key!"=="h" (
  195. rd /s /q logs >nul 2>nul
  196. )
  197. if /i "!key!"=="s" (
  198. rd /s /q tasks >nul 2>nul
  199. )
  200. if /i "!key!"=="i" (
  201. del sleep.com sleep.exe sleep.vbs
  202. exit
  203. )
  204. if /i "!valid_key!" equ "0" goto :Main
  205. :Debugging
  206. echo.
  207. call :Echo_Debugging
  208. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  209. echo.
  210. echo.    ^>^> 请按回车键开始第一项检查...
  211. echo.
  212. pause > nul
  213. echo.
  214. call :Echo_Debugging
  215. echo.    ^>^> 正在调试 Certutil 性能...
  216. echo.
  217. echo.    ^>^> 请稍等...
  218. echo.
  219. echo.1 > ReturnKey.ini
  220. Certutil -encode ReturnKey.ini Hope.ini > nul
  221. if not exist Hope.ini (
  222. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  223. echo.
  224. echo.    ^>^> 请按回车键退出...
  225. pause > nul
  226. exit
  227. )
  228. if exist ReturnKey.ini del ReturnKey.ini
  229. if exist Hope.ini del Hope.ini
  230. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  231. echo.
  232. echo.    ^>^> 请按回车键继续...
  233. pause > nul
  234. call :Echo_Debugging
  235. echo.    ^>^> 正在安装延时程序,请稍等...
  236. echo.
  237. call :Sleep_Installs
  238. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  239. echo.
  240. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  241. echo.
  242. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  243. echo.
  244. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  245. echo.
  246. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  247. echo.
  248. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  249. echo.
  250. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  251. pause > nul
  252. mode con cols=68 lines=5
  253. for /l %%i in (1,1,50) do (
  254. cls
  255. echo.
  256. echo.
  257. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  258. call :Sleep 100
  259. )
  260. color 4e
  261. cls
  262. echo.
  263. echo.
  264. echo.    ^>^> 请按回车键开始输入读数
  265. pause > nul
  266. cls
  267. echo.
  268. echo.
  269. set /p Math=    ^>^> 请输入读数:
  270. call :VisualSet Result 5/%Math%
  271. call :VisualSet Result 100*%Result%
  272. Md Logs >nul 2>nul
  273. echo.%Result% > Logs\Time.ini
  274. color 0f
  275. cls
  276. echo.
  277. echo.
  278. echo.    ^>^> 请按回车键重启本程序...
  279. pause > nul
  280. start %~0
  281. exit
复制代码

作者: cmd1152    时间: 2021-8-13 15:03

本帖最后由 cmd1152 于 2021-8-13 15:04 编辑

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

作者: cmd1152    时间: 2021-8-13 15:37

回复 54# HOPE2021


   
    /S      除目录本身外,还将删除指定目录下的所有子目录和
            文件。用于删除目录树。

作者: cmd1152    时间: 2021-8-13 15:44

我终于有时间把我的Signature换了
  |
  |
  |
  |
  |
  |
  |
  |
  |
  ╲╱
作者: cmd1152    时间: 2021-8-13 15:56

信\致HOPE2021兄的一封信20210813-1555.exe
作者: cmd1152    时间: 2021-8-13 16:11

回复 61# HOPE2021


    信\致HOPE2021兄的一封信20210813-1610.exe
    密码是1152
作者: cmd1152    时间: 2021-8-13 17:03

回复 61# HOPE2021


    新功能呢?5点了
作者: HOPE2021    时间: 2021-8-13 17:24

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

作者: HOPE2021    时间: 2021-8-13 17:26

版本1.0.0024下半部分
  1. :Start
  2. set Error=0
  3. cls
  4. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  5. echo.
  6. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  7. echo.
  8. echo.    ^>^> Ctrl+C暂停或退出...
  9. call :Sleep %Time%
  10. if %Error%==1 goto :Error
  11. set /a Ms+=100
  12. if %Ms%==1000 set /a S_2+=1&set Ms=0
  13. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  14. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  15. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  16. if /i "!valid_key!" equ "0" goto :Start
  17. :End
  18. cls
  19. color 4e
  20. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  21. Call :Msg "%Title%" vbExclamation "Hope计时器"
  22. color %Color%
  23. @call :Restart
  24. @goto :Main
  25. :Vbs_Sleep
  26. echo.Wscript.Sleep %1 > Sleep.vbs
  27. call Sleep.vbs > nul
  28. if exist ReturnKey.vbs del ReturnKey.vbs
  29. @goto :eof
  30. :Sleep_Installs
  31. (
  32. echo.-----BEGIN CERTIFICATE-----
  33. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  34. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  35. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  36. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  37. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  38. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  39. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  40. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  41. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  42. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  43. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  44. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  45. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  46. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  47. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  48. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  49. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  50. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  51. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  52. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  53. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  54. echo.AAAAAAAAAAAAAAAAAAAAAA==
  55. echo.-----END CERTIFICATE-----
  56. ) > Sleep.com
  57. Certutil -Decode Sleep.com Sleep.exe > nul
  58. Certutil -Decode -f Sleep.com Sleep.com > nul
  59. goto :eof
  60. :Sleep
  61. set Error=0
  62. if exist Sleep.exe (
  63. Sleep.exe %1
  64. goto :eof
  65. )
  66. if not exist Sleep.exe if exist Sleep.com (
  67. Sleep.com %1
  68. goto :eof
  69. )
  70. if not exist Sleep.exe if not exist Sleep.com (
  71. set Error=1
  72. goto :eof
  73. )
  74. :get_key
  75. rem 用法:call :get_key
  76. set "key="
  77.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  78.   set "key=%key:~-1%"
  79.   set "valid_key=0"
  80. goto :eof
  81. :Msg
  82. Rem 用法: Call :Msg "Text" [buttons] "Title"
  83. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  84. Call ReturnKey.vbs > nul
  85. if exist ReturnKey.vbs del ReturnKey.vbs
  86. goto :eof
  87. :Settings_Time
  88. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  89. if /i "!key!"=="q" (
  90. set /a Ms_2+=3600000
  91. set /a H+=1
  92. )
  93. if /i "!key!"=="w" (
  94. set /a Ms_2-=3600000
  95. set /a H-=1
  96. )
  97. if /i "!key!"=="e" (
  98. set /a Ms_2+=60000
  99. set /a Min+=1
  100. )
  101. if /i "!key!"=="r" (
  102. set /a Ms_2-=60000
  103. set /a Min-=1
  104. )
  105. if /i "!key!"=="t" (
  106. set /a Ms_2+=1000
  107. set /a S+=1
  108. )
  109. if /i "!key!"=="y" (
  110. set /a Ms_2-=1000
  111. set /a S-=1
  112. )
  113. )
  114. if %S% Lss 0 (
  115. if %Min% Geq 0 if %H% Geq 0 (
  116. set /a Min-=1&set /a S+=60
  117. )
  118. if %Min% Leq 0 if %H% Leq 0 (
  119. echo.
  120. echo.    ^>^> 算数错误!
  121. call :Vbs_Sleep 100
  122. @call :Restart
  123. )
  124. )
  125. if %Min% Lss 0 (
  126. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  127. if %H% Leq 0 (
  128. echo.
  129. echo.    ^>^> 算数错误!
  130. call :Vbs_Sleep 100
  131. @call :Restart
  132. )
  133. )
  134. if %H% Lss 0 (
  135. echo.
  136. echo.    ^>^> 算数错误!
  137. call :Vbs_Sleep 100
  138. @call :Restart
  139. )
  140. if %Ms_2% Gtr 200000000 (
  141. echo.
  142. echo.    ^>^> 算数错误!
  143. call :Vbs_Sleep 100
  144. @call :Restart
  145. )
  146. if %S% Geq 60 set /a Min+=1&set S=0
  147. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: cmd1152    时间: 2021-8-13 17:30

回复 71# HOPE2021


    开始动画速度调不了
作者: HOPE2021    时间: 2021-8-13 17:32

for /l 的运算速度太快了不容易察觉
作者: HOPE2021    时间: 2021-8-13 17:32

您可以把慢速的数值调成4096再试一下
作者: cmd1152    时间: 2021-8-13 17:33

回复 73# HOPE2021


    OK
作者: cmd1152    时间: 2021-8-13 17:33

你这个开始动画怎么做的
作者: cmd1152    时间: 2021-8-13 17:34

回复 75# cmd1152


    知道了
作者: cmd1152    时间: 2021-8-13 17:41

回复 73# HOPE2021


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

作者: cmd1152    时间: 2021-8-13 17:42

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

作者: HOPE2021    时间: 2021-8-13 17:58

回复 79# cmd1152
文件出现在桌面?
我没有使用%UserProFile%\Desktop
作者: cmd1152    时间: 2021-8-13 18:10

回复 80# HOPE2021


    你没有md文件夹,所以cd出问题了
作者: cmd1152    时间: 2021-8-13 18:12

回复 80# HOPE2021


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

作者: cmd1152    时间: 2021-8-13 18:13

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

作者: cmd1152    时间: 2021-8-13 18:17

回复 80# HOPE2021


    不信你运行一下1.0.0024,第一次运行color.ini和timer.ini会跑到桌面上(合作就是好)
作者: HOPE2021    时间: 2021-8-13 18:18

回复 84# cmd1152
抱歉,Win10中并没有如此情况...[也许Win10有大改动...]
作者: cmd1152    时间: 2021-8-13 18:21

回复 85# HOPE2021


    第一次运行是没有Logs文件夹的,所以会跑到桌面,你试试删除Logs文件夹,然后重新运行
作者: HOPE2021    时间: 2021-8-13 18:24

回复 86# cmd1152
哦,是的...
多谢提醒
作者: cmd1152    时间: 2021-8-13 19:08

1.0.0027 更新启动画面,上半部分
  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.                                HOPE
  17. echo.
  18. call :Sleep_Installs
  19. if not exist Logs\Time.ini set Time=100
  20. if not exist Logs\Timer.ini set Timer=128
  21. if not exist Logs\Color.ini set Color=0f
  22. if exist Logs\Time.ini (
  23. cd Logs
  24. < Time.ini (
  25. set /p Time=
  26. )
  27. cd..
  28. )
  29. if exist Logs\Timer.ini (
  30. cd Logs
  31. < Timer.ini (
  32. set /p Timer=
  33. )
  34. cd..
  35. )
  36. if exist Logs\Color.ini (
  37. cd Logs
  38. < Color.ini (
  39. set /p Color=
  40. )
  41. cd..
  42. )
  43. for /l %%i in (1,1,3) do (
  44. cls
  45. echo.
  46. echo.
  47. echo.                               -HOPE-
  48. ping/n 1 127.1>nul
  49. cls
  50. echo.
  51. echo.
  52. echo.                               \HOPE\
  53. ping/n 1 127.1>nul
  54. cls
  55. echo.
  56. echo.
  57. echo.                               ^|HOPE^|
  58. ping/n 1 127.1>nul
  59. cls
  60. echo.
  61. echo.
  62. echo.                               /HOPE/
  63. ping/n 1 127.1>nul
  64. )
  65. cls
  66. echo.
  67. echo.                                /    /
  68. echo.                               /HOPE/
  69. echo.                              /    /
  70. ping/n 1 127.1>nul
  71. cls
  72. echo.
  73. echo.                                /-  -/
  74. echo.                               /HOPE/
  75. echo.                              /-  -/
  76. ping/n 1 127.1>nul
  77. cls
  78. echo.
  79. echo.                                /----/
  80. echo.                               /HOPE/
  81. echo.                              /----/
  82. ping/n 1 127.1>nul
  83. cls
  84. echo.
  85. echo.                                ------
  86. echo.                               /HOPE/
  87. echo.                              ------
  88. ping/n 1 127.1>nul
  89. cls
  90. echo.
  91. echo.                               --------
  92. echo.                               -HOPE-
  93. echo.                             --------
  94. ping/n 1 127.1>nul
  95. cls
  96. echo.
  97. echo.                              ---------
  98. echo.                              --HOPE--
  99. echo.                             ---------
  100. ping/n 1 127.1>nul
  101. for /l %%i in (1,1,3) do (
  102. cls
  103. echo.
  104. echo.                             ----------
  105. echo.                             ---HOPE---
  106. echo.                             ----------
  107. ping/n 1 127.1>nul
  108. cls
  109. echo.
  110. echo.                             - --------
  111. echo.                              --HOPE---
  112. echo.                             ----------
  113. ping/n 1 127.1>nul
  114. cls
  115. echo.
  116. echo.                             --- ------
  117. echo.                             -- HOPE---
  118. echo.                             - --------
  119. ping/n 1 127.1>nul
  120. cls
  121. echo.
  122. echo.                             ----- ----
  123. echo.                             ---H PE---
  124. echo.                             --- ------
  125. ping/n 1 127.1>nul
  126. cls
  127. echo.
  128. echo.                             ------- --
  129. echo.                             ---HOP ---
  130. echo.                             ----- ----
  131. ping/n 1 127.1>nul
  132. cls
  133. echo.
  134. echo.                             ---------
  135. echo.                             ---HOPE- -
  136. echo.                             ------- --
  137. ping/n 1 127.1>nul
  138. cls
  139. echo.
  140. echo.                             ----------
  141. echo.                             ---HOPE---
  142. echo.                             ---------
  143. ping/n 1 127.1>nul
  144. cls
  145. echo.
  146. echo.                             ----------
  147. echo.                             ---HOPE---
  148. echo.                             ----------
  149. ping/n 1 127.1>nul
  150. )
  151. cls
  152. echo.
  153. echo.                              ---------
  154. echo.                              --HOPE---
  155. echo.                             ----Li----
  156. ping/n 1 127.1>nul
  157. cls
  158. echo.
  159. echo.                               --------
  160. echo.                               -HOPE---
  161. echo.                             --- Lif---
  162. ping/n 1 127.1>nul
  163. cls
  164. echo.
  165. echo.                                -------
  166. echo.                                HOPE---
  167. echo.                             --r Life--
  168. ping/n 1 127.1>nul
  169. cls
  170. echo.
  171. echo.                                H------
  172. echo.                                 OPE---
  173. echo.                             -ur Life -
  174. ping/n 1 127.1>nul
  175. cls
  176. echo.
  177. echo.                                HO-----
  178. echo.                                  PE---
  179. echo.                             our Life E
  180. ping/n 1 127.1>nul
  181. cls
  182. echo.
  183. echo.                                HOP----
  184. echo.                                   E---
  185. echo.                            Your Life Ea
  186. ping/n 1 127.1>nul
  187. cls
  188. echo.
  189. echo.                                HOPE---
  190. echo.                                    ---
  191. echo.                            Your Life Eas
  192. ping/n 1 127.1>nul
  193. cls
  194. echo.
  195. echo.                                HOPE --
  196. echo.                                     --
  197. echo.                          e Your Life Easi
  198. ping/n 1 127.1>nul
  199. cls
  200. echo.
  201. echo.                                HOPE  -
  202. echo.                                      -
  203. echo.                         ke Your Life Easie
  204. ping/n 1 127.1>nul
  205. cls
  206. echo.
  207. echo.                                HOPE
  208. echo.
  209. echo.                        ake Your Life Easier
  210. ping/n 1 127.1>nul
  211. cls
  212. echo.
  213. echo.                                HOPE
  214. echo.
  215. echo.                       Make Your Life Easier.
  216. ping/n 1 127.1>nul
  217. ping/n 1 127.1>nul
  218. cls
  219. call :23_Blank
  220. call :Vbs_Sleep 1000
  221. call :Sleep_Installs
  222. @call :Restart
  223. @goto :Main
  224. :Blank
  225. call :Type "# "
  226. @goto :eof
  227. :23_Blank
  228. call :Type "#                       "
  229. @goto :eof
  230. :Type
  231. set /p Str=%~1<nul
  232. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  233. @goto :eof
  234. :Restart
  235. color %Color%
  236. cls
  237. set H=0
  238. set Min=0
  239. set S=0
  240. set H_2=0
  241. set Min_2=0
  242. set S_2=0
  243. set Ms=0
  244. set Ms_2=0
  245. @goto :eof
  246. :Main
  247. mode con cols=68 lines=9
  248. title Hope计时器
  249. set Error=0
  250. cls
  251. echo.
  252. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  253. echo.
  254. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  255. echo.
  256. echo.  P 打开计划程序  S 删除计划存储  X 调试        F 恢复到调试前
  257. echo.
  258. echo.  Z 风格          D 初始化
  259. call :get_key
  260. call :Settings_Time
  261. if /i "!key!"=="p" (
  262. set St_1=10001
  263. set En_1=10010
  264. @goto :Task
  265. )
  266. if /i "!key!"=="u" (
  267. mode con cols=68 lines=5
  268. set "Title=时间到!!!"
  269. @goto :Start
  270. )
  271. if /i "!key!"=="z" (
  272. mode con cols=68 lines=34
  273. @goto :Themes
  274. )
  275. if /i "!key!"=="x" (
  276. mode con cols=68 lines=34
  277. @goto :Debugging
  278. )
  279. if /i "!key!"=="f" (
  280. rd /s /q Logs >nul 2>nul
  281. )
  282. if /i "!key!"=="s" (
  283. rd /s /q Tasks >nul 2>nul
  284. )
  285. if /i "!key!"=="d" (
  286. del sleep.com sleep.exe sleep.vbs
  287. rd /s /q Tasks >nul 2>nul
  288. rd /s /q Logs >nul 2>nul
  289. mode con cols=68 lines=5
  290. cls
  291. echo.
  292. echo.
  293. echo.    ^>^> 请按回车键重启本程序...
  294. pause>nul
  295. start %~0
  296. exit
  297. )
  298. if /i "!key!"=="i" (
  299. del sleep.com sleep.exe sleep.vbs
  300. exit
  301. )
  302. if /i "!valid_key!" equ "0" goto :Main
  303. :Themes
  304. cd logs
  305. echo.%Color% > Color.ini
  306. echo.%Timer% > Timer.ini
  307. cd..
  308. cls
  309. color %Color%
  310. echo.
  311. echo.  Hope计时器[风格]
  312. set /p Str=--------------------------------------------------------------------<nul
  313. echo.
  314. echo.
  315. echo.  ^>^>^>^> 颜色
  316. set /p Str=--------------------------------------------------------------------<nul
  317. echo.
  318. echo.                                        ^|
  319. echo.    A 经典   B 标准   C 激情   D 复古   ^|  Hope.
  320. echo.                                        ^|
  321. echo.    E 大理岩 F 未来   G 蓝色   H 紫色   ^|  Make Your Life Easier.
  322. echo.                                        ^|
  323. echo.  ^>^>^>^> 开始动画速度
  324. set /p Str=--------------------------------------------------------------------<nul
  325. echo.
  326. echo.                                        ^|why join the navy,
  327. echo.    J 正常   K 快速   L 慢速            ^|if you can be a pirate?
  328. echo.                                        ^|           - Steve Jobs
  329. echo.                                        ^|
  330. echo.  ^>^>^>^> 操作
  331. set /p Str=--------------------------------------------------------------------<nul
  332. echo.
  333. echo.                                        ^|
  334. echo.    M 返回   N 还原默认                 ^|
  335. call :get_key
  336. if /i "!key!"=="a" (
  337. set Color=3f
  338. )
  339. if /i "!key!"=="b" (
  340. set Color=0f
  341. )
  342. if /i "!key!"=="c" (
  343. set Color=4e
  344. )
  345. if /i "!key!"=="d" (
  346. set Color=8f
  347. )
  348. if /i "!key!"=="e" (
  349. set Color=f8
  350. )
  351. if /i "!key!"=="f" (
  352. set Color=0a
  353. )
  354. if /i "!key!"=="g" (
  355. set Color=b1
  356. )
  357. if /i "!key!"=="h" (
  358. set Color=5f
  359. )
  360. if /i "!key!"=="j" (
  361. set Timer=128
  362. )
  363. if /i "!key!"=="k" (
  364. set Timer=32
  365. )
  366. if /i "!key!"=="l" (
  367. set Timer=512
  368. )
  369. if /i "!key!"=="m" (
  370. goto Main
  371. )
  372. if /i "!key!"=="n" (
  373. cd Logs
  374. del Timer.ini
  375. del Color.ini
  376. cd..
  377. set Timer=128
  378. set Color=0f
  379. )
复制代码

作者: cmd1152    时间: 2021-8-13 19:08

1.0.0027 下半部分
  1. if /i "!valid_key!" equ "0" goto :Themes
  2. :Rem_Themes
  3. ; A 3F
  4. ; B 0F
  5. ; C 4E
  6. ; D 8F
  7. ; E F8
  8. ; F 0A
  9. ; G B1
  10. ; H 5F
  11. @goto :eof
  12. :Debugging
  13. echo.
  14. call :Echo_Debugging
  15. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  16. echo.
  17. echo.    ^>^> 请按回车键开始第一项检查...
  18. echo.
  19. pause > nul
  20. echo.
  21. call :Echo_Debugging
  22. echo.    ^>^> 正在调试 Certutil 性能...
  23. echo.
  24. echo.    ^>^> 请稍等...
  25. echo.
  26. echo.1 > ReturnKey.ini
  27. Certutil -encode ReturnKey.ini Hope.ini > nul
  28. if not exist Hope.ini (
  29. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  30. echo.
  31. echo.    ^>^> 请按回车键退出...
  32. pause > nul
  33. exit
  34. )
  35. if exist ReturnKey.ini del ReturnKey.ini
  36. if exist Hope.ini del Hope.ini
  37. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  38. echo.
  39. echo.    ^>^> 请按回车键继续...
  40. pause > nul
  41. call :Echo_Debugging
  42. echo.    ^>^> 正在安装延时程序,请稍等...
  43. echo.
  44. call :Sleep_Installs
  45. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  46. echo.
  47. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  48. echo.
  49. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  50. echo.
  51. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  52. echo.
  53. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  54. echo.
  55. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  56. echo.
  57. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  58. pause > nul
  59. mode con cols=68 lines=5
  60. for /l %%i in (1,1,50) do (
  61. cls
  62. echo.
  63. echo.
  64. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  65. call :Sleep 100
  66. )
  67. color 4e
  68. cls
  69. echo.
  70. echo.
  71. echo.    ^>^> 请按回车键开始输入读数
  72. pause > nul
  73. cls
  74. echo.
  75. echo.
  76. set /p Math=    ^>^> 请输入读数:
  77. call :VisualSet Result 5/%Math%
  78. call :VisualSet Result 100*%Result%
  79. Md Logs >nul 2>nul
  80. echo.%Result% > Logs\Time.ini
  81. color %Color%
  82. cls
  83. echo.
  84. echo.
  85. echo.    ^>^> 请按回车键重启本程序...
  86. pause > nul
  87. @goto :Begin
  88. :VisualSet
  89. @echo off
  90. echo X=%~2>>VisualSet.vbs
  91. echo wscript.echo(X)>>VisualSet.vbs
  92. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  93. if exist VisualSet.vbs del VisualSet.vbs
  94. goto :eof
  95. :Echo_Debugging
  96. mode con cols=68 lines=34
  97. cls
  98. echo.
  99. echo.  Hope计时器[调试程序]
  100. set /p Str=--------------------------------------------------------------------<nul
  101. echo.
  102. echo.
  103. @goto :eof
  104. :Task
  105. mode con cols=68 lines=34
  106. Md Tasks >nul 2>nul
  107. cls
  108. title Hope计时器[计划程序]
  109. set Error=0
  110. echo.
  111. echo.  Hope计时器[计划程序]
  112. set /p Str=--------------------------------------------------------------------<nul
  113. echo.
  114. echo.
  115. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  116. if not exist Tasks\*.Htd (
  117. echo.
  118. echo.    ^>^> 当前没有计划
  119. set /p Str=--------------------------------------------------------------------<nul
  120. echo.
  121. echo.
  122. )
  123. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  124. if exist Tasks\*.Htd (
  125. cd Tasks
  126. echo.
  127. echo.    ^>^> 当前计划列表
  128. set /p Str=--------------------------------------------------------------------<nul
  129. echo.
  130. echo.
  131. for /f %%i in ('dir /b *.Htd') do (
  132. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  133. )
  134. echo.
  135. cd..
  136. )
  137. )
  138. call :get_key
  139. if /i "!key!"=="E" (
  140. @goto :Main
  141. )
  142. if /i "!key!"=="D" (
  143. @goto :Del
  144. )
  145. if /i "!key!"=="R" (
  146. exit
  147. )
  148. if /i "!key!"=="Q" (
  149. @goto :New
  150. )
  151. if /i "!key!"=="W" (
  152. @goto :Open
  153. )
  154. if /i "!valid_key!" equ "0" @goto :Task
  155. :Open
  156. if exist Tasks\*.Htd (
  157. set "Content= "
  158. set /p Content=    ^>^> 请输入计划编号:
  159. goto Open_2
  160. ) else cd..&@goto :Task
  161. :Del
  162. if exist Tasks\*.Htd (
  163. set "Content= "
  164. set /p Content=    ^>^> 请输入计划编号:
  165. goto Del_2
  166. ) else cd..&@goto :Task
  167. :Del_2
  168. cd Tasks
  169. if exist %Content%.Htd (
  170. del %Content%.Htd
  171. cd..
  172. goto Task
  173. ) else cd..&goto Task
  174. :Open_2
  175. cd Tasks
  176. if exist %Content%.Htd (
  177. call :Read %Content%
  178. cd..
  179. mode con cols=68 lines=5
  180. @goto :Start
  181. ) else cd..&goto Task
  182. :New
  183. cd Tasks
  184. < Htd.Hdat (
  185. set /p Num=
  186. )
  187. set /a Num+=1
  188. echo.%Num% > Htd.Hdat
  189. cd..
  190. echo.
  191. echo.    ^>^> 新建计划:%Num%
  192. echo.
  193. set "Content=时间到!!!"
  194. set /p Content=    ^>^> 备注:
  195. echo.
  196. set "Content=%Content:>=^>%"
  197. set "Content=%Content:<=^<%"
  198. set "Content=%Content:|=^|%"
  199. set "Title= "
  200. set /p Title=    ^>^> 到时提醒:
  201. echo.
  202. set "Title=%Title:>=^^^>%"
  203. set "Title=%Title:<=^^^<%"
  204. set "Title=%Title:|=^^^|%"
  205. set H=0
  206. set Min=0
  207. set S=0
  208. set H_2=0
  209. set Min_2=0
  210. set S_2=0
  211. set Ms=0
  212. set Ms_2=0
  213. call :Vbs_Sleep 1000
  214. @goto :New_2
  215. :Read
  216. < %1.Htd (
  217. set /p H=
  218. set /p Min=
  219. set /p S=
  220. set /p Ms_2=
  221. set /p Title=
  222. set /p Content=
  223. )
  224. @goto :eof
  225. :New_2
  226. cls
  227. echo.
  228. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  229. echo.
  230. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  231. echo.
  232. call :get_key
  233. call :Settings_Time
  234. if /i "!key!"=="U" (
  235. (
  236. echo.%H%
  237. echo.%Min%
  238. echo.%S%
  239. echo.%Ms_2%
  240. echo.%Title%
  241. echo.%Content%
  242. ) > Tasks\%Num%.Htd
  243. @goto :Task
  244. )
  245. if /i "!valid_key!" equ "0" @goto :New_2
  246. :Error
  247. color 1f
  248. cls
  249. echo.
  250. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  251. echo.
  252. echo.    ^>^> 正在帮您恢复
  253. call :Sleep_Installs
  254. goto :Restart
  255. :Start
  256. set Error=0
  257. cls
  258. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  259. echo.
  260. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  261. echo.
  262. echo.    ^>^> Ctrl+C暂停或退出...
  263. call :Sleep %Time%
  264. if %Error%==1 goto :Error
  265. set /a Ms+=100
  266. if %Ms%==1000 set /a S_2+=1&set Ms=0
  267. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  268. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  269. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  270. if /i "!valid_key!" equ "0" goto :Start
  271. :End
  272. cls
  273. color 4e
  274. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  275. Call :Msg "%Title%" vbExclamation "Hope计时器"
  276. color %Color%
  277. @call :Restart
  278. @goto :Main
  279. :Vbs_Sleep
  280. echo.Wscript.Sleep %1 > Sleep.vbs
  281. call Sleep.vbs > nul
  282. if exist ReturnKey.vbs del ReturnKey.vbs
  283. @goto :eof
  284. :Sleep_Installs
  285. (
  286. echo.-----BEGIN CERTIFICATE-----
  287. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  288. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  289. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  290. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  291. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  292. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  293. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  294. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  295. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  296. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  297. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  298. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  299. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  300. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  301. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  302. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  303. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  304. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  305. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  306. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  307. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  308. echo.AAAAAAAAAAAAAAAAAAAAAA==
  309. echo.-----END CERTIFICATE-----
  310. ) > Sleep.com
  311. Certutil -Decode Sleep.com Sleep.exe > nul
  312. Certutil -Decode -f Sleep.com Sleep.com > nul
  313. goto :eof
  314. :Sleep
  315. set Error=0
  316. if exist Sleep.exe (
  317. Sleep.exe %1
  318. goto :eof
  319. )
  320. if not exist Sleep.exe if exist Sleep.com (
  321. Sleep.com %1
  322. goto :eof
  323. )
  324. if not exist Sleep.exe if not exist Sleep.com (
  325. set Error=1
  326. goto :eof
  327. )
  328. :get_key
  329. rem 用法:call :get_key
  330. set "key="
  331.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  332.   set "key=%key:~-1%"
  333.   set "valid_key=0"
  334. goto :eof
  335. :Msg
  336. Rem 用法: Call :Msg "Text" [buttons] "Title"
  337. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  338. Call ReturnKey.vbs > nul
  339. if exist ReturnKey.vbs del ReturnKey.vbs
  340. goto :eof
  341. :Settings_Time
  342. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  343. if /i "!key!"=="q" (
  344. set /a Ms_2+=3600000
  345. set /a H+=1
  346. )
  347. if /i "!key!"=="w" (
  348. set /a Ms_2-=3600000
  349. set /a H-=1
  350. )
  351. if /i "!key!"=="e" (
  352. set /a Ms_2+=60000
  353. set /a Min+=1
  354. )
  355. if /i "!key!"=="r" (
  356. set /a Ms_2-=60000
  357. set /a Min-=1
  358. )
  359. if /i "!key!"=="t" (
  360. set /a Ms_2+=1000
  361. set /a S+=1
  362. )
  363. if /i "!key!"=="y" (
  364. set /a Ms_2-=1000
  365. set /a S-=1
  366. )
  367. )
  368. if %S% Lss 0 (
  369. if %Min% Geq 0 if %H% Geq 0 (
  370. set /a Min-=1&set /a S+=60
  371. )
  372. if %Min% Leq 0 if %H% Leq 0 (
  373. echo.
  374. echo.    ^>^> 算数错误!
  375. call :Vbs_Sleep 100
  376. @call :Restart
  377. )
  378. )
  379. if %Min% Lss 0 (
  380. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  381. if %H% Leq 0 (
  382. echo.
  383. echo.    ^>^> 算数错误!
  384. call :Vbs_Sleep 100
  385. @call :Restart
  386. )
  387. )
  388. if %H% Lss 0 (
  389. echo.
  390. echo.    ^>^> 算数错误!
  391. call :Vbs_Sleep 100
  392. @call :Restart
  393. )
  394. if %Ms_2% Gtr 200000000 (
  395. echo.
  396. echo.    ^>^> 算数错误!
  397. call :Vbs_Sleep 100
  398. @call :Restart
  399. )
  400. if %S% Geq 60 set /a Min+=1&set S=0
  401. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: cmd1152    时间: 2021-8-13 19:15

1.0.0027 优化版上半部分
  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. for /l %%i in (1,1,3) do (
  45. cls
  46. echo.
  47. echo.
  48. echo.                               -HOPE-
  49. ping/n 1 127.1>nul
  50. cls
  51. echo.
  52. echo.
  53. echo.                               \HOPE\
  54. ping/n 1 127.1>nul
  55. cls
  56. echo.
  57. echo.
  58. echo.                               ^|HOPE^|
  59. ping/n 1 127.1>nul
  60. cls
  61. echo.
  62. echo.
  63. echo.                               /HOPE/
  64. ping/n 1 127.1>nul
  65. )
  66. cls
  67. echo.
  68. echo.                                /    /
  69. echo.                               /HOPE/
  70. echo.                              /    /
  71. ping/n 1 127.1>nul
  72. cls
  73. echo.
  74. echo.                                /-  -/
  75. echo.                               /HOPE/
  76. echo.                              /-  -/
  77. ping/n 1 127.1>nul
  78. cls
  79. echo.
  80. echo.                                /----/
  81. echo.                               /HOPE/
  82. echo.                              /----/
  83. ping/n 1 127.1>nul
  84. cls
  85. echo.
  86. echo.                                ------
  87. echo.                               /HOPE/
  88. echo.                              ------
  89. ping/n 1 127.1>nul
  90. cls
  91. echo.
  92. echo.                               --------
  93. echo.                               -HOPE-
  94. echo.                             --------
  95. ping/n 1 127.1>nul
  96. cls
  97. echo.
  98. echo.                              ---------
  99. echo.                              --HOPE--
  100. echo.                             ---------
  101. ping/n 1 127.1>nul
  102. for /l %%i in (1,1,2) do (
  103. cls
  104. echo.
  105. echo.                             ----------
  106. echo.                             ---HOPE---
  107. echo.                             ----------
  108. ping/n 1 127.1>nul
  109. cls
  110. echo.
  111. echo.                             - --------
  112. echo.                              --HOPE---
  113. echo.                             ----------
  114. ping/n 1 127.1>nul
  115. cls
  116. echo.
  117. echo.                             --- ------
  118. echo.                             -- HOPE---
  119. echo.                             - --------
  120. ping/n 1 127.1>nul
  121. cls
  122. echo.
  123. echo.                             ----- ----
  124. echo.                             ---H PE---
  125. echo.                             --- ------
  126. ping/n 1 127.1>nul
  127. cls
  128. echo.
  129. echo.                             ------- --
  130. echo.                             ---HOP ---
  131. echo.                             ----- ----
  132. ping/n 1 127.1>nul
  133. cls
  134. echo.
  135. echo.                             ---------
  136. echo.                             ---HOPE- -
  137. echo.                             ------- --
  138. ping/n 1 127.1>nul
  139. cls
  140. echo.
  141. echo.                             ----------
  142. echo.                             ---HOPE---
  143. echo.                             ---------
  144. ping/n 1 127.1>nul
  145. cls
  146. echo.
  147. echo.                             ----------
  148. echo.                             ---HOPE---
  149. echo.                             ----------
  150. ping/n 1 127.1>nul
  151. )
  152. cls
  153. echo.
  154. echo.                              ---------
  155. echo.                              --HOPE---
  156. echo.                             ----Li----
  157. ping/n 1 127.1>nul
  158. cls
  159. echo.
  160. echo.                               --------
  161. echo.                               -HOPE---
  162. echo.                             --- Lif---
  163. ping/n 1 127.1>nul
  164. cls
  165. echo.
  166. echo.                                -------
  167. echo.                                HOPE---
  168. echo.                             --r Life--
  169. ping/n 1 127.1>nul
  170. cls
  171. echo.
  172. echo.                                H------
  173. echo.                                 OPE---
  174. echo.                             -ur Life -
  175. ping/n 1 127.1>nul
  176. cls
  177. echo.
  178. echo.                                HO-----
  179. echo.                                  PE---
  180. echo.                             our Life E
  181. ping/n 1 127.1>nul
  182. cls
  183. echo.
  184. echo.                                HOP----
  185. echo.                                   E---
  186. echo.                            Your Life Ea
  187. ping/n 1 127.1>nul
  188. cls
  189. echo.
  190. echo.                                HOPE---
  191. echo.                                    ---
  192. echo.                            Your Life Eas
  193. ping/n 1 127.1>nul
  194. cls
  195. echo.
  196. echo.                                HOPE --
  197. echo.                                     --
  198. echo.                          e Your Life Easi
  199. ping/n 1 127.1>nul
  200. cls
  201. echo.
  202. echo.                                HOPE  -
  203. echo.                                      -
  204. echo.                         ke Your Life Easie
  205. ping/n 1 127.1>nul
  206. cls
  207. echo.
  208. echo.                                HOPE
  209. echo.
  210. echo.                        ake Your Life Easier
  211. ping/n 1 127.1>nul
  212. cls
  213. echo.
  214. echo.                                HOPE
  215. echo.
  216. echo.                       Make Your Life Easier.
  217. ping/n 3 127.1>nul
  218. call :23_Blank
  219. call :Vbs_Sleep 1000
  220. call :Sleep_Installs
  221. @call :Restart
  222. @goto :Main
  223. :Blank
  224. call :Type "# "
  225. @goto :eof
  226. :23_Blank
  227. call :Type "#                       "
  228. @goto :eof
  229. :Type
  230. set /p Str=%~1<nul
  231. for /l %%a in (1,1,%Timer%) do set ReturnKey=0
  232. @goto :eof
  233. :Restart
  234. color %Color%
  235. cls
  236. set H=0
  237. set Min=0
  238. set S=0
  239. set H_2=0
  240. set Min_2=0
  241. set S_2=0
  242. set Ms=0
  243. set Ms_2=0
  244. @goto :eof
  245. :Main
  246. mode con cols=68 lines=9
  247. title Hope计时器
  248. set Error=0
  249. cls
  250. echo.
  251. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  252. echo.
  253. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  254. echo.
  255. echo.  P 打开计划程序  S 删除计划存储  X 调试        F 恢复到调试前
  256. echo.
  257. echo.  Z 风格          D 初始化
  258. call :get_key
  259. call :Settings_Time
  260. if /i "!key!"=="p" (
  261. set St_1=10001
  262. set En_1=10010
  263. @goto :Task
  264. )
  265. if /i "!key!"=="u" (
  266. mode con cols=68 lines=5
  267. set "Title=时间到!!!"
  268. @goto :Start
  269. )
  270. if /i "!key!"=="z" (
  271. mode con cols=68 lines=34
  272. @goto :Themes
  273. )
  274. if /i "!key!"=="x" (
  275. mode con cols=68 lines=34
  276. @goto :Debugging
  277. )
  278. if /i "!key!"=="f" (
  279. rd /s /q Logs >nul 2>nul
  280. )
  281. if /i "!key!"=="s" (
  282. rd /s /q Tasks >nul 2>nul
  283. )
  284. if /i "!key!"=="d" (
  285. del sleep.com sleep.exe sleep.vbs
  286. rd /s /q Tasks >nul 2>nul
  287. rd /s /q Logs >nul 2>nul
  288. mode con cols=68 lines=5
  289. cls
  290. echo.
  291. echo.
  292. echo.    ^>^> 请按回车键重启本程序...
  293. pause>nul
  294. start %~0
  295. exit
  296. )
  297. if /i "!key!"=="i" (
  298. del sleep.com sleep.exe sleep.vbs
  299. exit
  300. )
  301. if /i "!valid_key!" equ "0" goto :Main
  302. :Themes
  303. cd logs
  304. echo.%Color% > Color.ini
  305. echo.%Timer% > Timer.ini
  306. cd..
  307. cls
  308. color %Color%
  309. echo.
  310. echo.  Hope计时器[风格]
  311. set /p Str=--------------------------------------------------------------------<nul
  312. echo.
  313. echo.
  314. echo.  ^>^>^>^> 颜色
  315. set /p Str=--------------------------------------------------------------------<nul
  316. echo.
  317. echo.                                        ^|
  318. echo.    A 经典   B 标准   C 激情   D 复古   ^|  Hope.
  319. echo.                                        ^|
  320. echo.    E 大理岩 F 未来   G 蓝色   H 紫色   ^|  Make Your Life Easier.
  321. echo.                                        ^|
  322. echo.  ^>^>^>^> 开始动画速度
  323. set /p Str=--------------------------------------------------------------------<nul
  324. echo.
  325. echo.                                        ^|why join the navy,
  326. echo.    J 正常   K 快速   L 慢速            ^|if you can be a pirate?
  327. echo.                                        ^|           - Steve Jobs
  328. echo.                                        ^|
  329. echo.  ^>^>^>^> 操作
  330. set /p Str=--------------------------------------------------------------------<nul
  331. echo.
  332. echo.                                        ^|
  333. echo.    M 返回   N 还原默认                 ^|
  334. call :get_key
  335. if /i "!key!"=="a" (
  336. set Color=3f
  337. )
  338. if /i "!key!"=="b" (
  339. set Color=0f
  340. )
  341. if /i "!key!"=="c" (
  342. set Color=4e
  343. )
  344. if /i "!key!"=="d" (
  345. set Color=8f
  346. )
  347. if /i "!key!"=="e" (
  348. set Color=f8
  349. )
  350. if /i "!key!"=="f" (
  351. set Color=0a
  352. )
  353. if /i "!key!"=="g" (
  354. set Color=b1
  355. )
  356. if /i "!key!"=="h" (
  357. set Color=5f
  358. )
  359. if /i "!key!"=="j" (
  360. set Timer=128
  361. )
  362. if /i "!key!"=="k" (
  363. set Timer=32
  364. )
  365. if /i "!key!"=="l" (
  366. set Timer=512
  367. )
  368. if /i "!key!"=="m" (
  369. goto Main
  370. )
  371. if /i "!key!"=="n" (
  372. cd Logs
  373. del Timer.ini
  374. del Color.ini
  375. cd..
  376. set Timer=128
  377. set Color=0f
  378. )
  379. if /i "!valid_key!" equ "0" goto :Themes
  380. :Rem_Themes
  381. ; A 3F
  382. ; B 0F
  383. ; C 4E
  384. ; D 8F
  385. ; E F8
  386. ; F 0A
  387. ; G B1
  388. ; H 5F
  389. @goto :eof
复制代码

作者: cmd1152    时间: 2021-8-13 19:15

1.0.0027 优化版 下半部分
  1. :Debugging
  2. echo.
  3. call :Echo_Debugging
  4. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  5. echo.
  6. echo.    ^>^> 请按回车键开始第一项检查...
  7. echo.
  8. pause > nul
  9. echo.
  10. call :Echo_Debugging
  11. echo.    ^>^> 正在调试 Certutil 性能...
  12. echo.
  13. echo.    ^>^> 请稍等...
  14. echo.
  15. echo.1 > ReturnKey.ini
  16. Certutil -encode ReturnKey.ini Hope.ini > nul
  17. if not exist Hope.ini (
  18. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  19. echo.
  20. echo.    ^>^> 请按回车键退出...
  21. pause > nul
  22. exit
  23. )
  24. if exist ReturnKey.ini del ReturnKey.ini
  25. if exist Hope.ini del Hope.ini
  26. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  27. echo.
  28. echo.    ^>^> 请按回车键继续...
  29. pause > nul
  30. call :Echo_Debugging
  31. echo.    ^>^> 正在安装延时程序,请稍等...
  32. echo.
  33. call :Sleep_Installs
  34. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  35. echo.
  36. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  37. echo.
  38. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  39. echo.
  40. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  41. echo.
  42. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  43. echo.
  44. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  45. echo.
  46. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  47. pause > nul
  48. mode con cols=68 lines=5
  49. for /l %%i in (1,1,50) do (
  50. cls
  51. echo.
  52. echo.
  53. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  54. call :Sleep 100
  55. )
  56. color 4e
  57. cls
  58. echo.
  59. echo.
  60. echo.    ^>^> 请按回车键开始输入读数
  61. pause > nul
  62. cls
  63. echo.
  64. echo.
  65. set /p Math=    ^>^> 请输入读数:
  66. call :VisualSet Result 5/%Math%
  67. call :VisualSet Result 100*%Result%
  68. Md Logs >nul 2>nul
  69. echo.%Result% > Logs\Time.ini
  70. color %Color%
  71. cls
  72. echo.
  73. echo.
  74. echo.    ^>^> 请按回车键重启本程序...
  75. pause > nul
  76. @goto :Begin
  77. :VisualSet
  78. @echo off
  79. echo X=%~2>>VisualSet.vbs
  80. echo wscript.echo(X)>>VisualSet.vbs
  81. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  82. if exist VisualSet.vbs del VisualSet.vbs
  83. goto :eof
  84. :Echo_Debugging
  85. mode con cols=68 lines=34
  86. cls
  87. echo.
  88. echo.  Hope计时器[调试程序]
  89. set /p Str=--------------------------------------------------------------------<nul
  90. echo.
  91. echo.
  92. @goto :eof
  93. :Task
  94. mode con cols=68 lines=34
  95. Md Tasks >nul 2>nul
  96. cls
  97. title Hope计时器[计划程序]
  98. set Error=0
  99. echo.
  100. echo.  Hope计时器[计划程序]
  101. set /p Str=--------------------------------------------------------------------<nul
  102. echo.
  103. echo.
  104. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  105. if not exist Tasks\*.Htd (
  106. echo.
  107. echo.    ^>^> 当前没有计划
  108. set /p Str=--------------------------------------------------------------------<nul
  109. echo.
  110. echo.
  111. )
  112. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  113. if exist Tasks\*.Htd (
  114. cd Tasks
  115. echo.
  116. echo.    ^>^> 当前计划列表
  117. set /p Str=--------------------------------------------------------------------<nul
  118. echo.
  119. echo.
  120. for /f %%i in ('dir /b *.Htd') do (
  121. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  122. )
  123. echo.
  124. cd..
  125. )
  126. )
  127. call :get_key
  128. if /i "!key!"=="E" (
  129. @goto :Main
  130. )
  131. if /i "!key!"=="D" (
  132. @goto :Del
  133. )
  134. if /i "!key!"=="R" (
  135. exit
  136. )
  137. if /i "!key!"=="Q" (
  138. @goto :New
  139. )
  140. if /i "!key!"=="W" (
  141. @goto :Open
  142. )
  143. if /i "!valid_key!" equ "0" @goto :Task
  144. :Open
  145. if exist Tasks\*.Htd (
  146. set "Content= "
  147. set /p Content=    ^>^> 请输入计划编号:
  148. goto Open_2
  149. ) else cd..&@goto :Task
  150. :Del
  151. if exist Tasks\*.Htd (
  152. set "Content= "
  153. set /p Content=    ^>^> 请输入计划编号:
  154. goto Del_2
  155. ) else cd..&@goto :Task
  156. :Del_2
  157. cd Tasks
  158. if exist %Content%.Htd (
  159. del %Content%.Htd
  160. cd..
  161. goto Task
  162. ) else cd..&goto Task
  163. :Open_2
  164. cd Tasks
  165. if exist %Content%.Htd (
  166. call :Read %Content%
  167. cd..
  168. mode con cols=68 lines=5
  169. @goto :Start
  170. ) else cd..&goto Task
  171. :New
  172. cd Tasks
  173. < Htd.Hdat (
  174. set /p Num=
  175. )
  176. set /a Num+=1
  177. echo.%Num% > Htd.Hdat
  178. cd..
  179. echo.
  180. echo.    ^>^> 新建计划:%Num%
  181. echo.
  182. set "Content=时间到!!!"
  183. set /p Content=    ^>^> 备注:
  184. echo.
  185. set "Content=%Content:>=^>%"
  186. set "Content=%Content:<=^<%"
  187. set "Content=%Content:|=^|%"
  188. set "Title= "
  189. set /p Title=    ^>^> 到时提醒:
  190. echo.
  191. set "Title=%Title:>=^^^>%"
  192. set "Title=%Title:<=^^^<%"
  193. set "Title=%Title:|=^^^|%"
  194. set H=0
  195. set Min=0
  196. set S=0
  197. set H_2=0
  198. set Min_2=0
  199. set S_2=0
  200. set Ms=0
  201. set Ms_2=0
  202. call :Vbs_Sleep 1000
  203. @goto :New_2
  204. :Read
  205. < %1.Htd (
  206. set /p H=
  207. set /p Min=
  208. set /p S=
  209. set /p Ms_2=
  210. set /p Title=
  211. set /p Content=
  212. )
  213. @goto :eof
  214. :New_2
  215. cls
  216. echo.
  217. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  218. echo.
  219. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  220. echo.
  221. call :get_key
  222. call :Settings_Time
  223. if /i "!key!"=="U" (
  224. (
  225. echo.%H%
  226. echo.%Min%
  227. echo.%S%
  228. echo.%Ms_2%
  229. echo.%Title%
  230. echo.%Content%
  231. ) > Tasks\%Num%.Htd
  232. @goto :Task
  233. )
  234. if /i "!valid_key!" equ "0" @goto :New_2
  235. :Error
  236. color 1f
  237. cls
  238. echo.
  239. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  240. echo.
  241. echo.    ^>^> 正在帮您恢复
  242. call :Sleep_Installs
  243. goto :Restart
  244. :Start
  245. set Error=0
  246. cls
  247. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  248. echo.
  249. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  250. echo.
  251. echo.    ^>^> Ctrl+C暂停或退出...
  252. call :Sleep %Time%
  253. if %Error%==1 goto :Error
  254. set /a Ms+=100
  255. if %Ms%==1000 set /a S_2+=1&set Ms=0
  256. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  257. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  258. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  259. if /i "!valid_key!" equ "0" goto :Start
  260. :End
  261. cls
  262. color 4e
  263. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  264. Call :Msg "%Title%" vbExclamation "Hope计时器"
  265. color %Color%
  266. @call :Restart
  267. @goto :Main
  268. :Vbs_Sleep
  269. echo.Wscript.Sleep %1 > Sleep.vbs
  270. call Sleep.vbs > nul
  271. if exist ReturnKey.vbs del ReturnKey.vbs
  272. @goto :eof
  273. :Sleep_Installs
  274. (
  275. echo.-----BEGIN CERTIFICATE-----
  276. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  277. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  278. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  279. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  280. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  281. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  282. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  283. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  284. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  285. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  286. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  287. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  288. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  289. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  290. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  291. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  292. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  293. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  294. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  295. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  296. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  297. echo.AAAAAAAAAAAAAAAAAAAAAA==
  298. echo.-----END CERTIFICATE-----
  299. ) > Sleep.com
  300. Certutil -Decode Sleep.com Sleep.exe > nul
  301. Certutil -Decode -f Sleep.com Sleep.com > nul
  302. goto :eof
  303. :Sleep
  304. set Error=0
  305. if exist Sleep.exe (
  306. Sleep.exe %1
  307. goto :eof
  308. )
  309. if not exist Sleep.exe if exist Sleep.com (
  310. Sleep.com %1
  311. goto :eof
  312. )
  313. if not exist Sleep.exe if not exist Sleep.com (
  314. set Error=1
  315. goto :eof
  316. )
  317. :get_key
  318. rem 用法:call :get_key
  319. set "key="
  320.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  321.   set "key=%key:~-1%"
  322.   set "valid_key=0"
  323. goto :eof
  324. :Msg
  325. Rem 用法: Call :Msg "Text" [buttons] "Title"
  326. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  327. Call ReturnKey.vbs > nul
  328. if exist ReturnKey.vbs del ReturnKey.vbs
  329. goto :eof
  330. :Settings_Time
  331. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  332. if /i "!key!"=="q" (
  333. set /a Ms_2+=3600000
  334. set /a H+=1
  335. )
  336. if /i "!key!"=="w" (
  337. set /a Ms_2-=3600000
  338. set /a H-=1
  339. )
  340. if /i "!key!"=="e" (
  341. set /a Ms_2+=60000
  342. set /a Min+=1
  343. )
  344. if /i "!key!"=="r" (
  345. set /a Ms_2-=60000
  346. set /a Min-=1
  347. )
  348. if /i "!key!"=="t" (
  349. set /a Ms_2+=1000
  350. set /a S+=1
  351. )
  352. if /i "!key!"=="y" (
  353. set /a Ms_2-=1000
  354. set /a S-=1
  355. )
  356. )
  357. if %S% Lss 0 (
  358. if %Min% Geq 0 if %H% Geq 0 (
  359. set /a Min-=1&set /a S+=60
  360. )
  361. if %Min% Leq 0 if %H% Leq 0 (
  362. echo.
  363. echo.    ^>^> 算数错误!
  364. call :Vbs_Sleep 100
  365. @call :Restart
  366. )
  367. )
  368. if %Min% Lss 0 (
  369. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  370. if %H% Leq 0 (
  371. echo.
  372. echo.    ^>^> 算数错误!
  373. call :Vbs_Sleep 100
  374. @call :Restart
  375. )
  376. )
  377. if %H% Lss 0 (
  378. echo.
  379. echo.    ^>^> 算数错误!
  380. call :Vbs_Sleep 100
  381. @call :Restart
  382. )
  383. if %Ms_2% Gtr 200000000 (
  384. echo.
  385. echo.    ^>^> 算数错误!
  386. call :Vbs_Sleep 100
  387. @call :Restart
  388. )
  389. if %S% Geq 60 set /a Min+=1&set S=0
  390. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: 路过    时间: 2021-8-13 20:57

代码冗长,兼第三方,难搞。
作者: HOPE2021    时间: 2021-8-13 21:59

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

作者: HOPE2021    时间: 2021-8-13 22:00

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

作者: cmd1152    时间: 2021-8-13 22:06

回复 92# 路过


    ???第三方用VB写一个就好
作者: cmd1152    时间: 2021-8-13 22:07

回复 94# HOPE2021


    这两个版本不是一模一样吗?
作者: cmd1152    时间: 2021-8-13 22:16

1.0.0029 更改开始动画上半部分
  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. ping/n 1 127.1>nul
  50. cls
  51. echo.
  52. echo.                              ---------
  53. echo.                              --HOPE---
  54. echo.                             ----Li----
  55. ping/n 1 127.1>nul
  56. cls
  57. echo.
  58. echo.                               --------
  59. echo.                               -HOPE---
  60. echo.                             --- Lif---
  61. ping/n 1 127.1>nul
  62. cls
  63. echo.
  64. echo.                                -------
  65. echo.                                HOPE---
  66. echo.                             --r Life--
  67. ping/n 1 127.1>nul
  68. cls
  69. echo.
  70. echo.                                H------
  71. echo.                                -OPE---
  72. echo.                             -ur Life -
  73. ping/n 1 127.1>nul
  74. cls
  75. echo.
  76. echo.                                HO-----
  77. echo.                                 -PE---
  78. echo.                             our Life E
  79. ping/n 1 127.1>nul
  80. cls
  81. echo.
  82. echo.                                HOP----
  83. echo.                                  -E---
  84. echo.                            Your Life Ea
  85. ping/n 1 127.1>nul
  86. cls
  87. echo.
  88. echo.                                HOPE---
  89. echo.                                   ----
  90. echo.                            Your Life Eas
  91. ping/n 1 127.1>nul
  92. cls
  93. echo.
  94. echo.                                HOPE --
  95. echo.                                    ---
  96. echo.                          e Your Life Easi
  97. ping/n 1 127.1>nul
  98. cls
  99. echo.
  100. echo.                                HOPE  -
  101. echo.                                     --
  102. echo.                         ke Your Life Easie
  103. ping/n 1 127.1>nul
  104. cls
  105. echo.
  106. echo.                                HOPE
  107. echo.                                      -
  108. echo.                        ake Your Life Easier
  109. ping/n 1 127.1>nul
  110. cls
  111. echo.
  112. echo.                                HOPE
  113. echo.
  114. echo.                       Make Your Life Easier.
  115. ping/n 3 127.1>nul
  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. :Restart
  128. color %Color%
  129. cls
  130. set H=0
  131. set Min=0
  132. set S=0
  133. set H_2=0
  134. set Min_2=0
  135. set S_2=0
  136. set Ms=0
  137. set Ms_2=0
  138. @goto :eof
  139. :Main
  140. mode con cols=68 lines=9
  141. title Hope计时器
  142. set Error=0
  143. cls
  144. echo.
  145. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  146. echo.
  147. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U/I 开始计时/退出
  148. echo.
  149. echo.  P 打开计划程序  S 删除计划存储  X 调试        F 恢复到调试前
  150. echo.
  151. echo.  Z 风格          D 初始化
  152. call :get_key
  153. call :Settings_Time
  154. if /i "!key!"=="p" (
  155. set St_1=10001
  156. set En_1=10010
  157. @goto :Task
  158. )
  159. if /i "!key!"=="u" (
  160. mode con cols=68 lines=5
  161. set "Title=时间到!!!"
  162. @goto :Start
  163. )
  164. if /i "!key!"=="z" (
  165. mode con cols=68 lines=34
  166. @goto :Themes
  167. )
  168. if /i "!key!"=="x" (
  169. mode con cols=68 lines=34
  170. @goto :Debugging
  171. )
  172. if /i "!key!"=="f" (
  173. rd /s /q Logs >nul 2>nul
  174. )
  175. if /i "!key!"=="s" (
  176. rd /s /q Tasks >nul 2>nul
  177. )
  178. if /i "!key!"=="d" (
  179. del sleep.com sleep.exe sleep.vbs
  180. rd /s /q Tasks >nul 2>nul
  181. rd /s /q Logs >nul 2>nul
  182. mode con cols=68 lines=5
  183. cls
  184. echo.
  185. echo.
  186. echo.    ^>^> 请按回车键重启本程序...
  187. pause>nul
  188. start %~0
  189. exit
  190. )
  191. if /i "!key!"=="i" (
  192. del sleep.com sleep.exe sleep.vbs
  193. exit
  194. )
  195. if /i "!valid_key!" equ "0" goto :Main
  196. :Themes
  197. cd logs
  198. echo.%Color% > Color.ini
  199. echo.%Timer% > Timer.ini
  200. cd..
  201. cls
  202. color %Color%
  203. echo.
  204. echo.  Hope计时器[风格]
  205. set /p Str=--------------------------------------------------------------------<nul
  206. echo.
  207. echo.
  208. echo.  ^>^>^>^> 颜色
  209. set /p Str=--------------------------------------------------------------------<nul
  210. echo.
  211. echo.                                        ^|
  212. echo.    A 经典   B 标准   C 激情   D 复古   ^|  Hope.
  213. echo.                                        ^|
  214. echo.    E 大理岩 F 未来   G 蓝色   H 紫色   ^|  Make Your Life Easier.
  215. echo.                                        ^|
  216. echo.  ^>^>^>^> 开始动画速度
  217. set /p Str=--------------------------------------------------------------------<nul
  218. echo.
  219. echo.                                        ^|why join the navy,
  220. echo.    J 正常   K 快速   L 慢速            ^|if you can be a pirate?
  221. echo.                                        ^|           - Steve Jobs
  222. echo.                                        ^|
  223. echo.  ^>^>^>^> 操作
  224. set /p Str=--------------------------------------------------------------------<nul
  225. echo.
  226. echo.                                        ^|
  227. echo.    M 返回   N 还原默认                 ^|
  228. call :get_key
  229. if /i "!key!"=="a" (
  230. set Color=3f
  231. )
  232. if /i "!key!"=="b" (
  233. set Color=0f
  234. )
  235. if /i "!key!"=="c" (
  236. set Color=4e
  237. )
  238. if /i "!key!"=="d" (
  239. set Color=8f
  240. )
  241. if /i "!key!"=="e" (
  242. set Color=f8
  243. )
  244. if /i "!key!"=="f" (
  245. set Color=0a
  246. )
  247. if /i "!key!"=="g" (
  248. set Color=b1
  249. )
  250. if /i "!key!"=="h" (
  251. set Color=5f
  252. )
  253. if /i "!key!"=="j" (
  254. set Timer=128
  255. )
  256. if /i "!key!"=="k" (
  257. set Timer=32
  258. )
  259. if /i "!key!"=="l" (
  260. set Timer=512
  261. )
  262. if /i "!key!"=="m" (
  263. goto Main
  264. )
  265. if /i "!key!"=="n" (
  266. cd Logs
  267. del Timer.ini
  268. del Color.ini
  269. cd..
  270. set Timer=128
  271. set Color=0f
  272. )
  273. if /i "!valid_key!" equ "0" goto :Themes
  274. :Rem_Themes
  275. ; A 3F
  276. ; B 0F
  277. ; C 4E
  278. ; D 8F
  279. ; E F8
  280. ; F 0A
  281. ; G B1
  282. ; H 5F
  283. @goto :eof
复制代码

作者: cmd1152    时间: 2021-8-13 22:18

1.0.0029 下半部分
  1. :Debugging
  2. echo.
  3. call :Echo_Debugging
  4. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  5. echo.
  6. echo.    ^>^> 请按回车键开始第一项检查...
  7. echo.
  8. pause > nul
  9. echo.
  10. call :Echo_Debugging
  11. echo.    ^>^> 正在调试 Certutil 性能...
  12. echo.
  13. echo.    ^>^> 请稍等...
  14. echo.
  15. echo.1 > ReturnKey.ini
  16. Certutil -encode ReturnKey.ini Hope.ini > nul
  17. if not exist Hope.ini (
  18. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  19. echo.
  20. echo.    ^>^> 请按回车键退出...
  21. pause > nul
  22. exit
  23. )
  24. if exist ReturnKey.ini del ReturnKey.ini
  25. if exist Hope.ini del Hope.ini
  26. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  27. echo.
  28. echo.    ^>^> 请按回车键继续...
  29. pause > nul
  30. call :Echo_Debugging
  31. echo.    ^>^> 正在安装延时程序,请稍等...
  32. echo.
  33. call :Sleep_Installs
  34. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  35. echo.
  36. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  37. echo.
  38. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  39. echo.
  40. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  41. echo.
  42. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  43. echo.
  44. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  45. echo.
  46. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  47. pause > nul
  48. mode con cols=68 lines=5
  49. for /l %%i in (1,1,50) do (
  50. cls
  51. echo.
  52. echo.
  53. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  54. call :Sleep 100
  55. )
  56. color 4e
  57. cls
  58. echo.
  59. echo.
  60. echo.    ^>^> 请按回车键开始输入读数
  61. pause > nul
  62. cls
  63. echo.
  64. echo.
  65. set /p Math=    ^>^> 请输入读数:
  66. call :VisualSet Result 5/%Math%
  67. call :VisualSet Result 100*%Result%
  68. Md Logs >nul 2>nul
  69. echo.%Result% > Logs\Time.ini
  70. color %Color%
  71. cls
  72. echo.
  73. echo.
  74. echo.    ^>^> 请按回车键重启本程序...
  75. pause > nul
  76. @goto :Begin
  77. :VisualSet
  78. @echo off
  79. echo X=%~2>>VisualSet.vbs
  80. echo wscript.echo(X)>>VisualSet.vbs
  81. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  82. if exist VisualSet.vbs del VisualSet.vbs
  83. goto :eof
  84. :Echo_Debugging
  85. mode con cols=68 lines=34
  86. cls
  87. echo.
  88. echo.  Hope计时器[调试程序]
  89. set /p Str=--------------------------------------------------------------------<nul
  90. echo.
  91. echo.
  92. @goto :eof
  93. :Task
  94. mode con cols=68 lines=34
  95. Md Tasks >nul 2>nul
  96. cls
  97. title Hope计时器[计划程序]
  98. set Error=0
  99. echo.
  100. echo.  Hope计时器[计划程序]
  101. set /p Str=--------------------------------------------------------------------<nul
  102. echo.
  103. echo.
  104. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  105. if not exist Tasks\*.Htd (
  106. echo.
  107. echo.    ^>^> 当前没有计划
  108. set /p Str=--------------------------------------------------------------------<nul
  109. echo.
  110. echo.
  111. )
  112. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  113. if exist Tasks\*.Htd (
  114. cd Tasks
  115. echo.
  116. echo.    ^>^> 当前计划列表
  117. set /p Str=--------------------------------------------------------------------<nul
  118. echo.
  119. echo.
  120. for /f %%i in ('dir /b *.Htd') do (
  121. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  122. )
  123. echo.
  124. cd..
  125. )
  126. )
  127. call :get_key
  128. if /i "!key!"=="E" (
  129. @goto :Main
  130. )
  131. if /i "!key!"=="D" (
  132. @goto :Del
  133. )
  134. if /i "!key!"=="R" (
  135. exit
  136. )
  137. if /i "!key!"=="Q" (
  138. @goto :New
  139. )
  140. if /i "!key!"=="W" (
  141. @goto :Open
  142. )
  143. if /i "!valid_key!" equ "0" @goto :Task
  144. :Open
  145. if exist Tasks\*.Htd (
  146. set "Content= "
  147. set /p Content=    ^>^> 请输入计划编号:
  148. goto Open_2
  149. ) else cd..&@goto :Task
  150. :Del
  151. if exist Tasks\*.Htd (
  152. set "Content= "
  153. set /p Content=    ^>^> 请输入计划编号:
  154. goto Del_2
  155. ) else cd..&@goto :Task
  156. :Del_2
  157. cd Tasks
  158. if exist %Content%.Htd (
  159. del %Content%.Htd
  160. cd..
  161. goto Task
  162. ) else cd..&goto Task
  163. :Open_2
  164. cd Tasks
  165. if exist %Content%.Htd (
  166. call :Read %Content%
  167. cd..
  168. mode con cols=68 lines=5
  169. @goto :Start
  170. ) else cd..&goto Task
  171. :New
  172. cd Tasks
  173. < Htd.Hdat (
  174. set /p Num=
  175. )
  176. set /a Num+=1
  177. echo.%Num% > Htd.Hdat
  178. cd..
  179. echo.
  180. echo.    ^>^> 新建计划:%Num%
  181. echo.
  182. set "Content=时间到!!!"
  183. set /p Content=    ^>^> 备注:
  184. echo.
  185. set "Content=%Content:>=^>%"
  186. set "Content=%Content:<=^<%"
  187. set "Content=%Content:|=^|%"
  188. set "Title= "
  189. set /p Title=    ^>^> 到时提醒:
  190. echo.
  191. set "Title=%Title:>=^^^>%"
  192. set "Title=%Title:<=^^^<%"
  193. set "Title=%Title:|=^^^|%"
  194. set H=0
  195. set Min=0
  196. set S=0
  197. set H_2=0
  198. set Min_2=0
  199. set S_2=0
  200. set Ms=0
  201. set Ms_2=0
  202. call :Vbs_Sleep 1000
  203. @goto :New_2
  204. :Read
  205. < %1.Htd (
  206. set /p H=
  207. set /p Min=
  208. set /p S=
  209. set /p Ms_2=
  210. set /p Title=
  211. set /p Content=
  212. )
  213. @goto :eof
  214. :New_2
  215. cls
  216. echo.
  217. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  218. echo.
  219. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  220. echo.
  221. call :get_key
  222. call :Settings_Time
  223. if /i "!key!"=="U" (
  224. (
  225. echo.%H%
  226. echo.%Min%
  227. echo.%S%
  228. echo.%Ms_2%
  229. echo.%Title%
  230. echo.%Content%
  231. ) > Tasks\%Num%.Htd
  232. @goto :Task
  233. )
  234. if /i "!valid_key!" equ "0" @goto :New_2
  235. :Error
  236. color 1f
  237. cls
  238. echo.
  239. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  240. echo.
  241. echo.    ^>^> 正在帮您恢复
  242. call :Sleep_Installs
  243. goto :Restart
  244. :Start
  245. set Error=0
  246. cls
  247. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  248. echo.
  249. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  250. echo.
  251. echo.    ^>^> Ctrl+C暂停或退出...
  252. call :Sleep %Time%
  253. if %Error%==1 goto :Error
  254. set /a Ms+=100
  255. if %Ms%==1000 set /a S_2+=1&set Ms=0
  256. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  257. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  258. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  259. if /i "!valid_key!" equ "0" goto :Start
  260. :End
  261. cls
  262. color 4e
  263. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  264. Call :Msg "%Title%" vbExclamation "Hope计时器"
  265. color %Color%
  266. @call :Restart
  267. @goto :Main
  268. :Vbs_Sleep
  269. echo.Wscript.Sleep %1 > Sleep.vbs
  270. call Sleep.vbs > nul
  271. if exist ReturnKey.vbs del ReturnKey.vbs
  272. @goto :eof
  273. :Sleep_Installs
  274. (
  275. echo.-----BEGIN CERTIFICATE-----
  276. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  277. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  278. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  279. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  280. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  281. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  282. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  283. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  284. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  285. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  286. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  287. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  288. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  289. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  290. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  291. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  292. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  293. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  294. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  295. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  296. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  297. echo.AAAAAAAAAAAAAAAAAAAAAA==
  298. echo.-----END CERTIFICATE-----
  299. ) > Sleep.com
  300. Certutil -Decode Sleep.com Sleep.exe > nul
  301. Certutil -Decode -f Sleep.com Sleep.com > nul
  302. goto :eof
  303. :Sleep
  304. set Error=0
  305. if exist Sleep.exe (
  306. Sleep.exe %1
  307. goto :eof
  308. )
  309. if not exist Sleep.exe if exist Sleep.com (
  310. Sleep.com %1
  311. goto :eof
  312. )
  313. if not exist Sleep.exe if not exist Sleep.com (
  314. set Error=1
  315. goto :eof
  316. )
  317. :get_key
  318. rem 用法:call :get_key
  319. set "key="
  320.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  321.   set "key=%key:~-1%"
  322.   set "valid_key=0"
  323. goto :eof
  324. :Msg
  325. Rem 用法: Call :Msg "Text" [buttons] "Title"
  326. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  327. Call ReturnKey.vbs > nul
  328. if exist ReturnKey.vbs del ReturnKey.vbs
  329. goto :eof
  330. :Settings_Time
  331. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  332. if /i "!key!"=="q" (
  333. set /a Ms_2+=3600000
  334. set /a H+=1
  335. )
  336. if /i "!key!"=="w" (
  337. set /a Ms_2-=3600000
  338. set /a H-=1
  339. )
  340. if /i "!key!"=="e" (
  341. set /a Ms_2+=60000
  342. set /a Min+=1
  343. )
  344. if /i "!key!"=="r" (
  345. set /a Ms_2-=60000
  346. set /a Min-=1
  347. )
  348. if /i "!key!"=="t" (
  349. set /a Ms_2+=1000
  350. set /a S+=1
  351. )
  352. if /i "!key!"=="y" (
  353. set /a Ms_2-=1000
  354. set /a S-=1
  355. )
  356. )
  357. if %S% Lss 0 (
  358. if %Min% Geq 0 if %H% Geq 0 (
  359. set /a Min-=1&set /a S+=60
  360. )
  361. if %Min% Leq 0 if %H% Leq 0 (
  362. echo.
  363. echo.    ^>^> 算数错误!
  364. call :Vbs_Sleep 100
  365. @call :Restart
  366. )
  367. )
  368. if %Min% Lss 0 (
  369. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  370. if %H% Leq 0 (
  371. echo.
  372. echo.    ^>^> 算数错误!
  373. call :Vbs_Sleep 100
  374. @call :Restart
  375. )
  376. )
  377. if %H% Lss 0 (
  378. echo.
  379. echo.    ^>^> 算数错误!
  380. call :Vbs_Sleep 100
  381. @call :Restart
  382. )
  383. if %Ms_2% Gtr 200000000 (
  384. echo.
  385. echo.    ^>^> 算数错误!
  386. call :Vbs_Sleep 100
  387. @call :Restart
  388. )
  389. if %S% Geq 60 set /a Min+=1&set S=0
  390. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码

作者: cmd1152    时间: 2021-8-13 22:25

1.0.0030 开始动画加速上半部分
  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,700) 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 初始化
  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. rd /s /q Logs >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. start %~0
  192. exit
  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
复制代码

作者: cmd1152    时间: 2021-8-13 22:25

1.0.0030 下半部分
  1. :Debugging
  2. echo.
  3. call :Echo_Debugging
  4. echo.    ^>^> 此向导将会帮助您调试您的设备是否适合运行 Hope (R) 计时器
  5. echo.
  6. echo.    ^>^> 请按回车键开始第一项检查...
  7. echo.
  8. pause > nul
  9. echo.
  10. call :Echo_Debugging
  11. echo.    ^>^> 正在调试 Certutil 性能...
  12. echo.
  13. echo.    ^>^> 请稍等...
  14. echo.
  15. echo.1 > ReturnKey.ini
  16. Certutil -encode ReturnKey.ini Hope.ini > nul
  17. if not exist Hope.ini (
  18. echo.    ^>^> 您的操作系统与 Certutil 不兼容, 无法运行Hope计时器...
  19. echo.
  20. echo.    ^>^> 请按回车键退出...
  21. pause > nul
  22. exit
  23. )
  24. if exist ReturnKey.ini del ReturnKey.ini
  25. if exist Hope.ini del Hope.ini
  26. echo.    ^>^> 您的操作系统与 Certutil 兼容, 可以运行Hope计时器...
  27. echo.
  28. echo.    ^>^> 请按回车键继续...
  29. pause > nul
  30. call :Echo_Debugging
  31. echo.    ^>^> 正在安装延时程序,请稍等...
  32. echo.
  33. call :Sleep_Installs
  34. echo.    ^>^> 接下来,您将会调试秒表, 我们将会为您进行系统标准计时...
  35. echo.
  36. echo.    ^>^> 我们会为你进行延时五秒,请您准备好您的计时设备...
  37. echo.
  38. echo.    ^>^> 请将您的计时设备置于您的电子计算机左侧, 打开计时设备但
  39. echo.
  40. echo.    ^>^> 不要开始计时, 请注意, 您按下回车键或空格键之后Hope计时
  41. echo.
  42. echo.    ^>^> 器将开始计时, 您应当同时启动Hope计时器与您的设备...
  43. echo.
  44. echo.    ^>^> 当Hope计时器的窗体变红时, 您应当停止您的计时设备, 按下
  45. echo.
  46. echo.    ^>^> 回车键, 并填写读数, Hope计时器会为您自动校准...
  47. pause > nul
  48. mode con cols=68 lines=5
  49. for /l %%i in (1,1,50) do (
  50. cls
  51. echo.
  52. echo.
  53. echo.    ^>^> %%i00 毫秒 / 5000 毫秒
  54. call :Sleep 100
  55. )
  56. color 4e
  57. cls
  58. echo.
  59. echo.
  60. echo.    ^>^> 请按回车键开始输入读数
  61. pause > nul
  62. cls
  63. echo.
  64. echo.
  65. set /p Math=    ^>^> 请输入读数:
  66. call :VisualSet Result 5/%Math%
  67. call :VisualSet Result 100*%Result%
  68. Md Logs >nul 2>nul
  69. echo.%Result% > Logs\Time.ini
  70. color %Color%
  71. cls
  72. echo.
  73. echo.
  74. echo.    ^>^> 请按回车键重启本程序...
  75. pause > nul
  76. @goto :Begin
  77. :VisualSet
  78. @echo off
  79. echo X=%~2>>VisualSet.vbs
  80. echo wscript.echo(X)>>VisualSet.vbs
  81. for /f %%a in ('cscript //nologo VisualSet.vbs') do set %1=%%a
  82. if exist VisualSet.vbs del VisualSet.vbs
  83. goto :eof
  84. :Echo_Debugging
  85. mode con cols=68 lines=34
  86. cls
  87. echo.
  88. echo.  Hope计时器[调试程序]
  89. set /p Str=--------------------------------------------------------------------<nul
  90. echo.
  91. echo.
  92. @goto :eof
  93. :Task
  94. mode con cols=68 lines=34
  95. Md Tasks >nul 2>nul
  96. cls
  97. title Hope计时器[计划程序]
  98. set Error=0
  99. echo.
  100. echo.  Hope计时器[计划程序]
  101. set /p Str=--------------------------------------------------------------------<nul
  102. echo.
  103. echo.
  104. echo.    ^>^> Q 新建计划   W 使用计划   D 删除计划   E 返回菜单   R 退出
  105. if not exist Tasks\*.Htd (
  106. echo.
  107. echo.    ^>^> 当前没有计划
  108. set /p Str=--------------------------------------------------------------------<nul
  109. echo.
  110. echo.
  111. )
  112. if not exist Tasks\Htd.Hdat echo.10000 > Tasks\Htd.Hdat
  113. if exist Tasks\*.Htd (
  114. cd Tasks
  115. echo.
  116. echo.    ^>^> 当前计划列表
  117. set /p Str=--------------------------------------------------------------------<nul
  118. echo.
  119. echo.
  120. for /f %%i in ('dir /b *.Htd') do (
  121. for /f "skip=5" %%j in (%%~ni.Htd) do echo.    ^>^> 编号:%%~ni  备注:%%j
  122. )
  123. echo.
  124. cd..
  125. )
  126. )
  127. call :get_key
  128. if /i "!key!"=="E" (
  129. @goto :Main
  130. )
  131. if /i "!key!"=="D" (
  132. @goto :Del
  133. )
  134. if /i "!key!"=="R" (
  135. exit
  136. )
  137. if /i "!key!"=="Q" (
  138. @goto :New
  139. )
  140. if /i "!key!"=="W" (
  141. @goto :Open
  142. )
  143. if /i "!valid_key!" equ "0" @goto :Task
  144. :Open
  145. if exist Tasks\*.Htd (
  146. set "Content= "
  147. set /p Content=    ^>^> 请输入计划编号:
  148. goto Open_2
  149. ) else cd..&@goto :Task
  150. :Del
  151. if exist Tasks\*.Htd (
  152. set "Content= "
  153. set /p Content=    ^>^> 请输入计划编号:
  154. goto Del_2
  155. ) else cd..&@goto :Task
  156. :Del_2
  157. cd Tasks
  158. if exist %Content%.Htd (
  159. del %Content%.Htd
  160. cd..
  161. goto Task
  162. ) else cd..&goto Task
  163. :Open_2
  164. cd Tasks
  165. if exist %Content%.Htd (
  166. call :Read %Content%
  167. cd..
  168. mode con cols=68 lines=5
  169. @goto :Start
  170. ) else cd..&goto Task
  171. :New
  172. cd Tasks
  173. < Htd.Hdat (
  174. set /p Num=
  175. )
  176. set /a Num+=1
  177. echo.%Num% > Htd.Hdat
  178. cd..
  179. echo.
  180. echo.    ^>^> 新建计划:%Num%
  181. echo.
  182. set "Content=时间到!!!"
  183. set /p Content=    ^>^> 备注:
  184. echo.
  185. set "Content=%Content:>=^>%"
  186. set "Content=%Content:<=^<%"
  187. set "Content=%Content:|=^|%"
  188. set "Title= "
  189. set /p Title=    ^>^> 到时提醒:
  190. echo.
  191. set "Title=%Title:>=^^^>%"
  192. set "Title=%Title:<=^^^<%"
  193. set "Title=%Title:|=^^^|%"
  194. set H=0
  195. set Min=0
  196. set S=0
  197. set H_2=0
  198. set Min_2=0
  199. set S_2=0
  200. set Ms=0
  201. set Ms_2=0
  202. call :Vbs_Sleep 1000
  203. @goto :New_2
  204. :Read
  205. < %1.Htd (
  206. set /p H=
  207. set /p Min=
  208. set /p S=
  209. set /p Ms_2=
  210. set /p Title=
  211. set /p Content=
  212. )
  213. @goto :eof
  214. :New_2
  215. cls
  216. echo.
  217. echo.    ^>^> 当前计时时间:%H%小时%Min%分钟%S%秒
  218. echo.
  219. echo.  Q/W 小时加/减   E/R 分钟加/减   T/Y 秒加/减   U 完成计划
  220. echo.
  221. call :get_key
  222. call :Settings_Time
  223. if /i "!key!"=="U" (
  224. (
  225. echo.%H%
  226. echo.%Min%
  227. echo.%S%
  228. echo.%Ms_2%
  229. echo.%Title%
  230. echo.%Content%
  231. ) > Tasks\%Num%.Htd
  232. @goto :Task
  233. )
  234. if /i "!valid_key!" equ "0" @goto :New_2
  235. :Error
  236. color 1f
  237. cls
  238. echo.
  239. echo.    ^>^> Sleep.exe 和 Sleep.com 不知到何处去了...
  240. echo.
  241. echo.    ^>^> 正在帮您恢复
  242. call :Sleep_Installs
  243. goto :Restart
  244. :Start
  245. set Error=0
  246. cls
  247. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  248. echo.
  249. echo.    ^>^> %H_2%小时%Min_2%分钟%S_2%秒%Ms%毫秒/%H%小时%Min%分钟%S%秒
  250. echo.
  251. echo.    ^>^> Ctrl+C暂停或退出...
  252. call :Sleep %Time%
  253. if %Error%==1 goto :Error
  254. set /a Ms+=100
  255. if %Ms%==1000 set /a S_2+=1&set Ms=0
  256. if %S_2% Geq 60 set /a Min_2+=1&set S_2=0
  257. if %Min_2% Geq 60 set /a H_2+=1&set Min_2=0
  258. if %H_2% Geq %H% if %Min_2% Geq %Min% if %S_2% Geq %S% goto :End
  259. if /i "!valid_key!" equ "0" goto :Start
  260. :End
  261. cls
  262. color 4e
  263. title 计时器[%H_2%小时%Min_2%分钟%S_2%秒/%H%小时%Min%分钟%S%秒]
  264. Call :Msg "%Title%" vbExclamation "Hope计时器"
  265. color %Color%
  266. @call :Restart
  267. @goto :Main
  268. :Vbs_Sleep
  269. echo.Wscript.Sleep %1 > Sleep.vbs
  270. call Sleep.vbs > nul
  271. if exist ReturnKey.vbs del ReturnKey.vbs
  272. @goto :eof
  273. :Sleep_Installs
  274. (
  275. echo.-----BEGIN CERTIFICATE-----
  276. echo.TVpQAQEAAAAEAAAA//8AAFABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  277. echo.AAAAAAAAAAAAAAAAkAAAAPy+gQAPtkz/ZjHSZjHASXggrCwwchQ8CXcQZmvSCmYB
  278. echo.wi7HBi8AMQDr5C7/Ji8ADgBmadLoAwAAZonRZsHpELSGzRW4AEzNIQAAAAAAAAAA
  279. echo.UEUAAEwBAQBQeaU2AAAAAAAAAADgAA8BCwEFDAACAAAAAAAAAAAAAH4QAAAAEAAA
  280. echo.ACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAADAAAA
  281. echo.AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAQEAAAKAAAAAAAAAAAAAAA
  282. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  283. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAA
  284. echo.AAAAAAAAAAAudGV4dAAAANwAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAADg
  285. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  286. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWEAAAZBAAAHYQAAAAAAAA
  287. echo.RhAAAAAAAAAAAAAAOBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtFUk5FTDMy
  288. echo.LmRsbAAAVhAAAGQQAAB2EAAAAAAAAAAARXhpdFByb2Nlc3MAAABHZXRDb21tYW5k
  289. echo.TGluZUEAAABTbGVlcAD/FQQQQAAx0khAgDgAdBGAOCJ1AvfSCdJ174A4IHXqQPyJ
  290. echo.xjHSMcCsCMB0IywwchU8CXcRa9IKAcLHBckQQADNEEAA6+L/JckQQAClEEAAUv8V
  291. echo.CBBAAGoA/xUAEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  292. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  293. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  294. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  295. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  296. echo.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  297. echo.AAAAAAAAAAAAAAAAAAAAAA==
  298. echo.-----END CERTIFICATE-----
  299. ) > Sleep.com
  300. Certutil -Decode Sleep.com Sleep.exe > nul
  301. Certutil -Decode -f Sleep.com Sleep.com > nul
  302. goto :eof
  303. :Sleep
  304. set Error=0
  305. if exist Sleep.exe (
  306. Sleep.exe %1
  307. goto :eof
  308. )
  309. if not exist Sleep.exe if exist Sleep.com (
  310. Sleep.com %1
  311. goto :eof
  312. )
  313. if not exist Sleep.exe if not exist Sleep.com (
  314. set Error=1
  315. goto :eof
  316. )
  317. :get_key
  318. rem 用法:call :get_key
  319. set "key="
  320.   for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do if not defined key set "key=%%a"
  321.   set "key=%key:~-1%"
  322.   set "valid_key=0"
  323. goto :eof
  324. :Msg
  325. Rem 用法: Call :Msg "Text" [buttons] "Title"
  326. echo.Msg=msgbox("%~1",%2,"%~3") > ReturnKey.vbs
  327. Call ReturnKey.vbs > nul
  328. if exist ReturnKey.vbs del ReturnKey.vbs
  329. goto :eof
  330. :Settings_Time
  331. if %Ms_2% Leq 200000000 if %H% geq 0 if %Min% Geq 0 if %S% Geq 0 (
  332. if /i "!key!"=="q" (
  333. set /a Ms_2+=3600000
  334. set /a H+=1
  335. )
  336. if /i "!key!"=="w" (
  337. set /a Ms_2-=3600000
  338. set /a H-=1
  339. )
  340. if /i "!key!"=="e" (
  341. set /a Ms_2+=60000
  342. set /a Min+=1
  343. )
  344. if /i "!key!"=="r" (
  345. set /a Ms_2-=60000
  346. set /a Min-=1
  347. )
  348. if /i "!key!"=="t" (
  349. set /a Ms_2+=1000
  350. set /a S+=1
  351. )
  352. if /i "!key!"=="y" (
  353. set /a Ms_2-=1000
  354. set /a S-=1
  355. )
  356. )
  357. if %S% Lss 0 (
  358. if %Min% Geq 0 if %H% Geq 0 (
  359. set /a Min-=1&set /a S+=60
  360. )
  361. if %Min% Leq 0 if %H% Leq 0 (
  362. echo.
  363. echo.    ^>^> 算数错误!
  364. call :Vbs_Sleep 100
  365. @call :Restart
  366. )
  367. )
  368. if %Min% Lss 0 (
  369. if %H% Gtr 0 set /a H-=1&set /a Min+=60
  370. if %H% Leq 0 (
  371. echo.
  372. echo.    ^>^> 算数错误!
  373. call :Vbs_Sleep 100
  374. @call :Restart
  375. )
  376. )
  377. if %H% Lss 0 (
  378. echo.
  379. echo.    ^>^> 算数错误!
  380. call :Vbs_Sleep 100
  381. @call :Restart
  382. )
  383. if %Ms_2% Gtr 200000000 (
  384. echo.
  385. echo.    ^>^> 算数错误!
  386. call :Vbs_Sleep 100
  387. @call :Restart
  388. )
  389. if %S% Geq 60 set /a Min+=1&set S=0
  390. if %Min% Geq 60 set /a H+=1&set Min=0
复制代码





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