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

TOP

版本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
复制代码

TOP

版本1.0.0013是怎么回事?

TOP

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

Tasks 是计划程序的存储目录,删除了还要计划程序干什么?[这样还不如用1.0.0007]

TOP

本帖最后由 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
复制代码

TOP

本帖最后由 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
复制代码

TOP

回复 25# cmd1152
调试功能在我的计算机上是完全准的,我还特意调用了vbs进行计算,是不是您在调试时有什么技术问题没有明白?

TOP

回复 25# cmd1152
调试的读数填的是秒,可以填小数.

TOP

回复 29# cmd1152
您是不是把目录下Logs\Time.ini删了?

TOP

版本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
复制代码

TOP

版本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
复制代码

TOP

回复 31# cmd1152
那您尝试把Time.ini中的数值调小一点...

TOP

版本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
复制代码

TOP

版本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
复制代码

TOP

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

回复 37# cmd1152
调零呢?
如果不行我也无能为力了...

TOP

返回列表