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

[特效代码] [已解决]电子数字显示当前时间的批处理怎样精简?

本人是个批处理得菜鸟,自己编了一个用电子数字显示时间的批处理,但是只能竖着排下来,希望各位大侠帮我把那个数字用横着的办法排列,还有能不能帮我把代码简化一下,自己觉得代码太长了,谢谢?
效果图:
        ■   
        ■     
        ■   
        ■   
        ■   

       ■ ■
       ■ ■
       ■■■
         ■
         ■

       ■ ■

       ■■■
         ■
       ■■■
       ■  
       ■■■

       ■■■
       ■ ■
       ■■■
       ■ ■
       ■■■
  1. @echo off
  2. title 电子数字显示当前时间
  3. color 17
  4. del /f /q /s w.txt  >nul
  5. set g=%time:~0,1%
  6. set "a=■■■  ■ ■"
  7. ::set/p "g=第一个"
  8. if "%g%"=="1" goto 一
  9. if "%g%"=="2" goto 二
  10. if "%g%"=="3" goto 三
  11. if "%g%"=="4" goto 四
  12. if "%g%"=="5" goto 五
  13. if "%g%"=="6" goto 六
  14. if "%g%"=="7" goto 七
  15. if "%g%"=="8" goto 八
  16. if "%g%"=="9" goto 九
  17. if "%g%"=="0" goto 零
  18. :一              
  19. set b=%a:~3,3%
  20. set c=%a:~3,3%
  21. set d=%a:~3,3%
  22. set e=%a:~3,3%
  23. set f=%a:~3,3%
  24. echo       %b%   >>w.txt
  25. echo       %c%   >>w.txt  
  26. echo       %d%   >>w.txt
  27. echo       %e%   >>w.txt
  28. echo       %f%   >>w.txt
  29. ::ping /n 2 127.0.0.1 >nul
  30. goto s
  31. :二
  32. set b=%a:~0, 3%
  33. set c=%a:~3, 3%
  34. set d=%a:~0, 3%
  35. set e=%a:~2, 3%
  36. set f=%a:~0, 3%
  37. echo        %b%>>w.txt
  38. echo        %c%>>w.txt
  39. echo        %d%>>w.txt
  40. echo        %e%>>w.txt
  41. echo        %f%>>w.txt
  42. ::ping /n 2 127.0.0.1 >nul
  43. goto s
  44. :三
  45. set b=%a:~0, 3%
  46. set c=%a:~3, 3%
  47. set d=%a:~0, 3%
  48. set e=%a:~3, 3%
  49. set f=%a:~0, 3%
  50. echo        %b% >>w.txt
  51. echo        %c% >>w.txt
  52. echo        %d% >>w.txt
  53. echo        %e% >>w.txt
  54. echo        %f% >>w.txt
  55. ::ping /n 2 127.0.0.1 >nul
  56. goto s
  57. :四
  58. set b=%a:~5, 3%
  59. set c=%a:~5, 3%
  60. set d=%a:~0, 3%
  61. set e=%a:~3, 3%
  62. set f=%a:~3, 3%
  63. echo        %b% >>w.txt
  64. echo        %c% >>w.txt
  65. echo        %d% >>w.txt
  66. echo        %e% >>w.txt
  67. echo        %f% >>w.txt
  68. ::ping /n 2 127.0.0.1 >nul
  69. goto s
  70. :五
  71. set b=%a:~0, 3%
  72. set c=%a:~2, 3%
  73. set d=%a:~0, 3%
  74. set e=%a:~3, 3%
  75. set f=%a:~0, 3%
  76. echo        %b% >>w.txt
  77. echo        %c% >>w.txt
  78. echo        %d% >>w.txt
  79. echo        %e% >>w.txt
  80. echo        %f% >>w.txt
  81. ::ping /n 2 127.0.0.1 >nul
  82. goto s
  83. :六
  84. set b=%a:~0, 3%
  85. set c=%a:~2, 3%
  86. set d=%a:~0, 3%
  87. set e=%a:~5, 3%
  88. set f=%a:~0, 3%
  89. echo        %b% >>w.txt
  90. echo        %c% >>w.txt
  91. echo        %d% >>w.txt
  92. echo        %e% >>w.txt
  93. echo        %f% >>w.txt
  94. ping /n 2 127.0.0.1 >nul
  95. cls
  96. :七
  97. set b=%a:~0, 3%
  98. set c=%a:~3, 3%
  99. set d=%a:~3, 3%
  100. set e=%a:~3, 3%
  101. set f=%a:~3, 3%
  102. echo        %b% >>w.txt
  103. echo        %c% >>w.txt
  104. echo        %d% >>w.txt
  105. echo        %e% >>w.txt
  106. echo        %f% >>w.txt
  107. ::ping /n 2 127.0.0.1 >nul
  108. goto s
  109. :八
  110. set b=%a:~0, 3%
  111. set c=%a:~5, 3%
  112. set d=%a:~0, 3%
  113. set e=%a:~5, 3%
  114. set f=%a:~0, 3%
  115. echo        %b% >>w.txt
  116. echo        %c% >>w.txt
  117. echo        %d% >>w.txt
  118. echo        %e% >>w.txt
  119. echo        %f% >>w.txt
  120. ::ping /n 2 127.0.0.1 >nul
  121. goto s
  122. :九
  123. set b=%a:~0, 3%
  124. set c=%a:~5, 3%
  125. set d=%a:~0, 3%
  126. set e=%a:~3, 3%
  127. set f=%a:~0, 3%
  128. echo        %b% >>w.txt
  129. echo        %c% >>w.txt
  130. echo        %d% >>w.txt
  131. echo        %e% >>w.txt
  132. echo        %f% >>w.txt
  133. ::ping /n 2 127.0.0.1 >nul
  134. goto s
  135. :零
  136. set b=%a:~0, 3%
  137. set c=%a:~5, 3%
  138. set d=%a:~5, 3%
  139. set e=%a:~5, 3%
  140. set f=%a:~0, 3%
  141. echo        %b% >>w.txt
  142. echo        %c% >>w.txt
  143. echo        %d% >>w.txt
  144. echo        %e% >>w.txt
  145. echo        %f% >>w.txt
  146. :s
  147. echo.>>w.txt
  148. set "a=■■■  ■ ■"
  149. ::set/p "g=第二个"
  150. set g=%time:~1,1%
  151. if "%g%"=="1" goto 11
  152. if "%g%"=="2" goto 22
  153. if "%g%"=="3" goto 33
  154. if "%g%"=="4" goto 44
  155. if "%g%"=="5" goto 55
  156. if "%g%"=="6" goto 66
  157. if "%g%"=="7" goto 77
  158. if "%g%"=="8" goto 88
  159. if "%g%"=="9" goto 99
  160. if "%g%"=="0" goto 00
  161. :11              
  162. set b=%a:~3,3%
  163. set c=%a:~3,3%
  164. set d=%a:~3,3%
  165. set e=%a:~3,3%
  166. set f=%a:~3,3%
  167. echo       %b%   >>w.txt
  168. echo       %c%   >>w.txt  
  169. echo       %d%   >>w.txt
  170. echo       %e%   >>w.txt
  171. echo       %f%   >>w.txt
  172. ::ping /n 2 127.0.0.1 >nul
  173. goto ss
  174. :22
  175. set b=%a:~0, 3%
  176. set c=%a:~3, 3%
  177. set d=%a:~0, 3%
  178. set e=%a:~2, 3%
  179. set f=%a:~0, 3%
  180. echo        %b%>>w.txt
  181. echo        %c%>>w.txt
  182. echo        %d%>>w.txt
  183. echo        %e%>>w.txt
  184. echo        %f%>>w.txt
  185. ::ping /n 2 127.0.0.1 >nul
  186. goto ss
  187. :33
  188. set b=%a:~0, 3%
  189. set c=%a:~3, 3%
  190. set d=%a:~0, 3%
  191. set e=%a:~3, 3%
  192. set f=%a:~0, 3%
  193. echo        %b% >>w.txt
  194. echo        %c% >>w.txt
  195. echo        %d% >>w.txt
  196. echo        %e% >>w.txt
  197. echo        %f% >>w.txt
  198. ::ping /n 2 127.0.0.1 >nul
  199. goto ss
  200. :44
  201. set b=%a:~5, 3%
  202. set c=%a:~5, 3%
  203. set d=%a:~0, 3%
  204. set e=%a:~3, 3%
  205. set f=%a:~3, 3%
  206. echo        %b% >>w.txt
  207. echo        %c% >>w.txt
  208. echo        %d% >>w.txt
  209. echo        %e% >>w.txt
  210. echo        %f% >>w.txt
  211. ::ping /n 2 127.0.0.1 >nul
  212. goto ss
  213. :55
  214. set b=%a:~0, 3%
  215. set c=%a:~2, 3%
  216. set d=%a:~0, 3%
  217. set e=%a:~3, 3%
  218. set f=%a:~0, 3%
  219. echo        %b% >>w.txt
  220. echo        %c% >>w.txt
  221. echo        %d% >>w.txt
  222. echo        %e% >>w.txt
  223. echo        %f% >>w.txt
  224. ::ping /n 2 127.0.0.1 >nul
  225. goto ss
  226. :66
  227. set b=%a:~0, 3%
  228. set c=%a:~2, 3%
  229. set d=%a:~0, 3%
  230. set e=%a:~5, 3%
  231. set f=%a:~0, 3%
  232. echo        %b% >>w.txt
  233. echo        %c% >>w.txt
  234. echo        %d% >>w.txt
  235. echo        %e% >>w.txt
  236. echo        %f% >>w.txt
  237. ping /n 2 127.0.0.1 >nul
  238. cls
  239. :77
  240. set b=%a:~0, 3%
  241. set c=%a:~3, 3%
  242. set d=%a:~3, 3%
  243. set e=%a:~3, 3%
  244. set f=%a:~3, 3%
  245. echo        %b% >>w.txt
  246. echo        %c% >>w.txt
  247. echo        %d% >>w.txt
  248. echo        %e% >>w.txt
  249. echo        %f% >>w.txt
  250. ::ping /n 2 127.0.0.1 >nul
  251. goto ss
  252. :88
  253. set b=%a:~0, 3%
  254. set c=%a:~5, 3%
  255. set d=%a:~0, 3%
  256. set e=%a:~5, 3%
  257. set f=%a:~0, 3%
  258. echo        %b% >>w.txt
  259. echo        %c% >>w.txt
  260. echo        %d% >>w.txt
  261. echo        %e% >>w.txt
  262. echo        %f% >>w.txt
  263. ::ping /n 2 127.0.0.1 >nul
  264. goto ss
  265. :99
  266. set b=%a:~0, 3%
  267. set c=%a:~5, 3%
  268. set d=%a:~0, 3%
  269. set e=%a:~3, 3%
  270. set f=%a:~0, 3%
  271. echo        %b% >>w.txt
  272. echo        %c% >>w.txt
  273. echo        %d% >>w.txt
  274. echo        %e% >>w.txt
  275. echo        %f% >>w.txt
  276. ::ping /n 2 127.0.0.1 >nul
  277. goto ss
  278. :00
  279. set b=%a:~0, 3%
  280. set c=%a:~5, 3%
  281. set d=%a:~5, 3%
  282. set e=%a:~5, 3%
  283. set f=%a:~0, 3%
  284. echo        %b% >>w.txt
  285. echo        %c% >>w.txt
  286. echo        %d% >>w.txt
  287. echo        %e% >>w.txt
  288. echo        %f% >>w.txt
  289. :ss
  290. echo.>>w.txt
  291. echo        ■ ■>>w.txt
  292. echo.>>w.txt
  293. set "a=■■■  ■ ■"
  294. ::set/p "g=第三个"
  295. set g=%time:~3,1%
  296. if "%g%"=="1" goto 1111
  297. if "%g%"=="2" goto 2222
  298. if "%g%"=="3" goto 3333
  299. if "%g%"=="4" goto 4444
  300. if "%g%"=="5" goto 5555
  301. if "%g%"=="6" goto 6666
  302. if "%g%"=="7" goto 7777
  303. if "%g%"=="8" goto 8888
  304. if "%g%"=="9" goto 9999
  305. if "%g%"=="0" goto 0000
  306. :1111              
  307. set b=%a:~3,3%
  308. set c=%a:~3,3%
  309. set d=%a:~3,3%
  310. set e=%a:~3,3%
  311. set f=%a:~3,3%
  312. echo       %b%   >>w.txt
  313. echo       %c%   >>w.txt  
  314. echo       %d%   >>w.txt
  315. echo       %e%   >>w.txt
  316. echo       %f%   >>w.txt
  317. ::ping /n 2 127.0.0.1 >nul
  318. goto ssss
  319. :2222
  320. set b=%a:~0, 3%
  321. set c=%a:~3, 3%
  322. set d=%a:~0, 3%
  323. set e=%a:~2, 3%
  324. set f=%a:~0, 3%
  325. echo        %b%>>w.txt
  326. echo        %c%>>w.txt
  327. echo        %d%>>w.txt
  328. echo        %e%>>w.txt
  329. echo        %f%>>w.txt
  330. ::ping /n 2 127.0.0.1 >nul
  331. goto ssss
  332. :3333
  333. set b=%a:~0, 3%
  334. set c=%a:~3, 3%
  335. set d=%a:~0, 3%
  336. set e=%a:~3, 3%
  337. set f=%a:~0, 3%
  338. echo        %b% >>w.txt
  339. echo        %c% >>w.txt
  340. echo        %d% >>w.txt
  341. echo        %e% >>w.txt
  342. echo        %f% >>w.txt
  343. ::ping /n 2 127.0.0.1 >nul
  344. goto ssss
  345. :4444
  346. set b=%a:~5, 3%
  347. set c=%a:~5, 3%
  348. set d=%a:~0, 3%
  349. set e=%a:~3, 3%
  350. set f=%a:~3, 3%
  351. echo        %b% >>w.txt
  352. echo        %c% >>w.txt
  353. echo        %d% >>w.txt
  354. echo        %e% >>w.txt
  355. echo        %f% >>w.txt
  356. ::ping /n 2 127.0.0.1 >nul
  357. goto ssss
  358. :5555
  359. set b=%a:~0, 3%
  360. set c=%a:~2, 3%
  361. set d=%a:~0, 3%
  362. set e=%a:~3, 3%
  363. set f=%a:~0, 3%
  364. echo        %b% >>w.txt
  365. echo        %c% >>w.txt
  366. echo        %d% >>w.txt
  367. echo        %e% >>w.txt
  368. echo        %f% >>w.txt
  369. ::ping /n 2 127.0.0.1 >nul
  370. goto ssss
  371. :6666
  372. set b=%a:~0, 3%
  373. set c=%a:~2, 3%
  374. set d=%a:~0, 3%
  375. set e=%a:~5, 3%
  376. set f=%a:~0, 3%
  377. echo        %b% >>w.txt
  378. echo        %c% >>w.txt
  379. echo        %d% >>w.txt
  380. echo        %e% >>w.txt
  381. echo        %f% >>w.txt
  382. ping /n 2 127.0.0.1 >nul
  383. cls
  384. :7777
  385. set b=%a:~0, 3%
  386. set c=%a:~3, 3%
  387. set d=%a:~3, 3%
  388. set e=%a:~3, 3%
  389. set f=%a:~3, 3%
  390. echo        %b% >>w.txt
  391. echo        %c% >>w.txt
  392. echo        %d% >>w.txt
  393. echo        %e% >>w.txt
  394. echo        %f% >>w.txt
  395. ::ping /n 2 127.0.0.1 >nul
  396. goto ssss
  397. :8888
  398. set b=%a:~0, 3%
  399. set c=%a:~5, 3%
  400. set d=%a:~0, 3%
  401. set e=%a:~5, 3%
  402. set f=%a:~0, 3%
  403. echo        %b% >>w.txt
  404. echo        %c% >>w.txt
  405. echo        %d% >>w.txt
  406. echo        %e% >>w.txt
  407. echo        %f% >>w.txt
  408. ::ping /n 2 127.0.0.1 >nul
  409. goto ssss
  410. :9999
  411. set b=%a:~0, 3%
  412. set c=%a:~5, 3%
  413. set d=%a:~0, 3%
  414. set e=%a:~3, 3%
  415. set f=%a:~0, 3%
  416. echo        %b% >>w.txt
  417. echo        %c% >>w.txt
  418. echo        %d% >>w.txt
  419. echo        %e% >>w.txt
  420. echo        %f% >>w.txt
  421. ::ping /n 2 127.0.0.1 >nul
  422. goto ssss
  423. :0000
  424. set b=%a:~0, 3%
  425. set c=%a:~5, 3%
  426. set d=%a:~5, 3%
  427. set e=%a:~5, 3%
  428. set f=%a:~0, 3%
  429. echo        %b% >>w.txt
  430. echo        %c% >>w.txt
  431. echo        %d% >>w.txt
  432. echo        %e% >>w.txt
  433. echo        %f% >>w.txt
  434. :ssss
  435. echo.>>w.txt
  436. set "a=■■■  ■ ■"
  437. ::set/p "g=第四个"
  438. set g=%time:~4,1%
  439. if "%g%"=="1" goto 111
  440. if "%g%"=="2" goto 222
  441. if "%g%"=="3" goto 333
  442. if "%g%"=="4" goto 444
  443. if "%g%"=="5" goto 555
  444. if "%g%"=="6" goto 666
  445. if "%g%"=="7" goto 777
  446. if "%g%"=="8" goto 888
  447. if "%g%"=="9" goto 999
  448. if "%g%"=="0" goto 000
  449. :111              
  450. set b=%a:~3,3%
  451. set c=%a:~3,3%
  452. set d=%a:~3,3%
  453. set e=%a:~3,3%
  454. set f=%a:~3,3%
  455. echo       %b%   >>w.txt
  456. echo       %c%   >>w.txt  
  457. echo       %d%   >>w.txt
  458. echo       %e%   >>w.txt
  459. echo       %f%   >>w.txt
  460. ::ping /n 2 127.0.0.1 >nul
  461. goto sss
  462. :222
  463. set b=%a:~0, 3%
  464. set c=%a:~3, 3%
  465. set d=%a:~0, 3%
  466. set e=%a:~2, 3%
  467. set f=%a:~0, 3%
  468. echo        %b%>>w.txt
  469. echo        %c%>>w.txt
  470. echo        %d%>>w.txt
  471. echo        %e%>>w.txt
  472. echo        %f%>>w.txt
  473. ::ping /n 2 127.0.0.1 >nul
  474. goto sss
  475. :333
  476. set b=%a:~0, 3%
  477. set c=%a:~3, 3%
  478. set d=%a:~0, 3%
  479. set e=%a:~3, 3%
  480. set f=%a:~0, 3%
  481. echo        %b% >>w.txt
  482. echo        %c% >>w.txt
  483. echo        %d% >>w.txt
  484. echo        %e% >>w.txt
  485. echo        %f% >>w.txt
  486. ::ping /n 2 127.0.0.1 >nul
  487. goto sss
  488. :444
  489. set b=%a:~5, 3%
  490. set c=%a:~5, 3%
  491. set d=%a:~0, 3%
  492. set e=%a:~3, 3%
  493. set f=%a:~3, 3%
  494. echo        %b% >>w.txt
  495. echo        %c% >>w.txt
  496. echo        %d% >>w.txt
  497. echo        %e% >>w.txt
  498. echo        %f% >>w.txt
  499. ::ping /n 2 127.0.0.1 >nul
  500. goto sss
  501. :555
  502. set b=%a:~0, 3%
  503. set c=%a:~2, 3%
  504. set d=%a:~0, 3%
  505. set e=%a:~3, 3%
  506. set f=%a:~0, 3%
  507. echo        %b% >>w.txt
  508. echo        %c% >>w.txt
  509. echo        %d% >>w.txt
  510. echo        %e% >>w.txt
  511. echo        %f% >>w.txt
  512. ::ping /n 2 127.0.0.1 >nul
  513. goto sss
  514. :666
  515. set b=%a:~0, 3%
  516. set c=%a:~2, 3%
  517. set d=%a:~0, 3%
  518. set e=%a:~5, 3%
  519. set f=%a:~0, 3%
  520. echo        %b% >>w.txt
  521. echo        %c% >>w.txt
  522. echo        %d% >>w.txt
  523. echo        %e% >>w.txt
  524. echo        %f% >>w.txt
  525. ::ping /n 2 127.0.0.1 >nul
  526. goto sss
  527. :777
  528. set b=%a:~0, 3%
  529. set c=%a:~3, 3%
  530. set d=%a:~3, 3%
  531. set e=%a:~3, 3%
  532. set f=%a:~3, 3%
  533. echo        %b% >>w.txt
  534. echo        %c% >>w.txt
  535. echo        %d% >>w.txt
  536. echo        %e% >>w.txt
  537. echo        %f% >>w.txt
  538. ::ping /n 2 127.0.0.1 >nul
  539. goto sss
  540. :888
  541. set b=%a:~0, 3%
  542. set c=%a:~5, 3%
  543. set d=%a:~0, 3%
  544. set e=%a:~5, 3%
  545. set f=%a:~0, 3%
  546. echo        %b% >>w.txt
  547. echo        %c% >>w.txt
  548. echo        %d% >>w.txt
  549. echo        %e% >>w.txt
  550. echo        %f% >>w.txt
  551. ::ping /n 2 127.0.0.1 >nul
  552. goto sss
  553. :999
  554. set b=%a:~0, 3%
  555. set c=%a:~5, 3%
  556. set d=%a:~0, 3%
  557. set e=%a:~3, 3%
  558. set f=%a:~0, 3%
  559. echo        %b% >>w.txt
  560. echo        %c% >>w.txt
  561. echo        %d% >>w.txt
  562. echo        %e% >>w.txt
  563. echo        %f% >>w.txt
  564. ::ping /n 2 127.0.0.1 >nul
  565. goto sss
  566. :000
  567. set b=%a:~0, 3%
  568. set c=%a:~5, 3%
  569. set d=%a:~5, 3%
  570. set e=%a:~5, 3%
  571. set f=%a:~0, 3%
  572. echo        %b% >>w.txt
  573. echo        %c% >>w.txt
  574. echo        %d% >>w.txt
  575. echo        %e% >>w.txt
  576. echo        %f% >>w.txt
  577. :sss
  578. cls
  579. type w.txt
  580. pause>nul
  581. del w.txt
  582. pause
复制代码

[ 本帖最后由 qq105699129 于 2010-6-16 13:02 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

LZ辛苦了。  仰望一下高高的楼层

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. mode con:cols=56 lines=7
  3. ::定义时钟模版
  4. set T1=■■■ ■■■   ■■■ ■■■   ■■■ ■■■
  5. set T2=■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
  6. set T3=■ ■ ■ ■   ■ ■ ■ ■   ■ ■ ■ ■
  7. set T4=■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
  8. set T5=■■■ ■■■   ■■■ ■■■   ■■■ ■■■
  9. ::定义时分秒各数字替换模版时的位置
  10. set str=0 4 10 14 20 24
  11. ::定义数字模版
  12. set D1=■■■  ■  ■■■ ■■■ ■ ■ ■■■ ■■■ ■■■ ■■■ ■■■
  13. set D2=■ ■  ■    ■   ■ ■ ■ ■   ■     ■ ■ ■ ■ ■
  14. set D3=■ ■  ■  ■■■ ■■■ ■■■ ■■■ ■■■   ■ ■■■ ■■■
  15. set D4=■ ■  ■  ■     ■   ■   ■ ■ ■   ■ ■ ■   ■
  16. set D5=■■■  ■  ■■■ ■■■   ■ ■■■ ■■■   ■ ■■■ ■■■
  17. :loop
  18. ::新开一个环境
  19. setlocal enabledelayedexpansion
  20. ::取时间到ti,并且进行小时小于10时为空处理
  21. set ti=%time: =0%
  22. ::分别处理替换各个数字,0 1 3 4 6 7 是数字在ti字符串的位置
  23. for %%a in (0 1 3 4 6 7) do (
  24.         rem 调用子过程,根据时间数字,及在应改模版的位置,替换模版T[n]
  25.         call :sub !ti:~%%a,1! !str!
  26.         rem 循环一次str字符串丢掉前面的一项
  27.         set str=!str:* =!
  28. )
  29. cls
  30. title 批处理电子钟 [!ti:~,8!]
  31. echo;
  32. ::显示电子钟
  33. for /l %%a in (1,1,5) do echo; !T%%a!
  34. ping -n 2 127.1 >nul
  35. ::结束当前循环境,恢复变量到初始状态
  36. endlocal
  37. goto :loop
  38. :sub
  39. ::%m% 为数字在字模串的位置,%2为要替换时钟模版的开始位,%n%为要替换时钟模版的结束位
  40. set /a m=%1*4,n=%2+3
  41. ::把D[n]相应数据放到T[n]相应的位置
  42. for /l %%a in (1,1,5) do (set T%%a=!T%%a:~,%2!!D%%a:~%m%,3!!T%%a:~%n%!)
  43. goto :eof
复制代码
1

评分人数

    • raymai97: 不错!但有点不明白你的代码。PB + 2

TOP

回复 3楼 的帖子

楼上的版主使用ping -n 2 127.1 >nul ,降低了显示时间准确性。
  1. @echo off&setlocal enabledelayedexpansion&mode con:cols=57 lines=7
  2. set Han1=■■■ ■ ■■■■■■■ ■■■■■■■■■■■■■■■■ 
  3. set Han2=■ ■ ■   ■  ■■ ■■  ■    ■■ ■■ ■■
  4. set Han3=■ ■ ■ ■■■■■■■■■■■■■■■  ■■■■■■■ 
  5. set Han4=■ ■ ■ ■    ■  ■  ■■ ■  ■■ ■  ■■
  6. set Han5=■■■ ■ ■■■■■■  ■■■■■■■  ■■■■■■■ 
  7. :hanye
  8. set Ye=%time: =0%&set Gu=!Ye:~7,1!
  9. for /l %%a in (1,1,5) do for %%b in (%Ye:~0,1%;%Ye:~1,1%;10;%Ye:~3,1%;%Ye:~4,1%;10;%Ye:~6,1%;%Ye:~7,1%) do set/a Xing=3*%%b&for %%c in (!Xing!) do set "Han=!Han!!Han%%a:~%%c,3! "
  10. title Hanyeguxing:!Ye:~,8!&cls&echo.!Han!&set Han=
  11. :Guxing
  12. set Ye=%time: =0%
  13. if %Ye:~7,1%==%Gu% (goto:Guxing)else goto:hanye
复制代码

[ 本帖最后由 hanyeguxing 于 2010-6-15 13:34 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

需要仰望楼主

TOP

[四楼]的不错,代码简短,使用横向处理,与我的刚好相反,第一个代码显示有点慢,
现在的改得不错~~巧妙的利用了显示满行自动换行~~


引入模板压缩技术:
  1. @echo off&setlocal enabledelayedexpansion
  2. ::定义时钟模板
  3. set T=FCFCFC B6B6B4 B4B4B4 B6B6B4 FCFCFC
  4. ::定义数字模板
  5. set D=EBFBFFFC A89B21B4 ABFFF9FC AA1269A4 EBF3F9FC
  6. call :sub1 T 18 D 30      rem 模板解压还原
  7. set str=0 4 10 14 20 24
  8. mode con:cols=56 lines=7
  9. :loop
  10. setlocal enabledelayedexpansion
  11. set ti=%time: =0%
  12. for %%a in (0 1 3 4 6 7) do (
  13.         call :sub !ti:~%%a,1! !str!
  14.         set str=!str:* =!
  15. )
  16. cls
  17. title 批处理电子钟 [!ti:~,8!]
  18. echo;
  19. for /l %%a in (1,1,5) do echo; !T%%a:~,27!
  20. ping -n 2 127.1 >nul
  21. endlocal
  22. goto :loop
  23. :sub
  24. set /a m=%1*3,n=%2+3
  25. for /l %%a in (1,1,5) do set T%%a=!T%%a:~,%2!!D%%a:~%m%,3! !T%%a:~%n%!
  26. goto :eof
  27. :sub1  rem 模板解压代码
  28. set v=0
  29. for %%a in (!%1!) do (
  30.         set s=%%a
  31.         set/a v+=1
  32.         set str=
  33.         for /l %%b in (0,1,7) do for %%c in ("!s:~%%b,1!") do (
  34.                 set/a n=0x0%%~c
  35.                 for %%d in (8 4 2 1) do (
  36.                         set/a m=n/%%d, n=n%%%%d
  37.                         set str=!str!!m!
  38.         )        )
  39.         set str=!str:1=■!
  40.         set str=!str:0= !
  41.         set %1!v!=!str:~,%2!
  42. )
  43. shift&shift
  44. if "%1" neq "" goto :sub1
复制代码

TOP

多谢各位高手!
我现在也奉献上本人近日改良的电子数字显示当前时间的批处理:(不过代码还是很长!呵呵!)
  1. @echo off
  2. title 电子数字显示当前时间
  3. color 17
  4. mode con cols=50 lines=7
  5. set "a=■■■  ■ ■"
  6. set g=%time:~0,1%
  7. call :w
  8. set g=%time:~1,1%
  9. call :ww
  10. set g=%time:~3,1%
  11. call :www
  12. set g=%time:~4,1%
  13. call :wwww
  14. echo.
  15. echo        %b%  %bb%    %bbb%  %bbbb%
  16. echo        %c%  %cc% ■ %ccc%  %cccc%
  17. echo        %d%  %dd%    %ddd%  %dddd%
  18. echo        %e%  %ee% ■ %eee%  %eeee%
  19. echo        %f%  %ff%    %fff%  %ffff%
  20. pause>nul
  21. goto :eof
  22. :w
  23. if "%g%"=="1" goto 一
  24. if "%g%"=="2" goto 二
  25. if "%g%"=="3" goto 三
  26. if "%g%"=="4" goto 四
  27. if "%g%"=="5" goto 五
  28. if "%g%"=="6" goto 六
  29. if "%g%"=="7" goto 七
  30. if "%g%"=="8" goto 八
  31. if "%g%"=="9" goto 九
  32. if "%g%"=="0" goto 零
  33. :一              
  34. set b=%a:~3, 3%
  35. set c=%a:~3, 3%
  36. set d=%a:~3, 3%
  37. set e=%a:~3, 3%
  38. set f=%a:~3, 3%
  39. goto s
  40. :二
  41. set b=%a:~0, 3%
  42. set c=%a:~3, 3%
  43. set d=%a:~0, 3%
  44. set e=%a:~2, 3%
  45. set f=%a:~0, 3%
  46. goto s
  47. :三
  48. set b=%a:~0, 3%
  49. set c=%a:~3, 3%
  50. set d=%a:~0, 3%
  51. set e=%a:~3, 3%
  52. set f=%a:~0, 3%
  53. goto s
  54. :四
  55. set b=%a:~5, 3%
  56. set c=%a:~5, 3%
  57. set d=%a:~0, 3%
  58. set e=%a:~3, 3%
  59. set f=%a:~3, 3%
  60. goto s
  61. :五
  62. set b=%a:~0, 3%
  63. set c=%a:~2, 3%
  64. set d=%a:~0, 3%
  65. set e=%a:~3, 3%
  66. set f=%a:~0, 3%
  67. goto s
  68. :六
  69. set b=%a:~0, 3%
  70. set c=%a:~2, 3%
  71. set d=%a:~0, 3%
  72. set e=%a:~5, 3%
  73. set f=%a:~0, 3%
  74. goto s
  75. :七
  76. set b=%a:~0, 3%
  77. set c=%a:~3, 3%
  78. set d=%a:~3, 3%
  79. set e=%a:~3, 3%
  80. set f=%a:~3, 3%
  81. goto s
  82. :八
  83. set b=%a:~0, 3%
  84. set c=%a:~5, 3%
  85. set d=%a:~0, 3%
  86. set e=%a:~5, 3%
  87. set f=%a:~0, 3%
  88. goto s
  89. :九
  90. set b=%a:~0, 3%
  91. set c=%a:~5, 3%
  92. set d=%a:~0, 3%
  93. set e=%a:~3, 3%
  94. set f=%a:~0, 3%
  95. goto s
  96. :零
  97. set b=%a:~0, 3%
  98. set c=%a:~5, 3%
  99. set d=%a:~5, 3%
  100. set e=%a:~5, 3%
  101. set f=%a:~0, 3%
  102. :s
  103. goto :eof
  104. :ww
  105. if "%g%"=="1" goto 一
  106. if "%g%"=="2" goto 二
  107. if "%g%"=="3" goto 三
  108. if "%g%"=="4" goto 四
  109. if "%g%"=="5" goto 五
  110. if "%g%"=="6" goto 六
  111. if "%g%"=="7" goto 七
  112. if "%g%"=="8" goto 八
  113. if "%g%"=="9" goto 九
  114. if "%g%"=="0" goto 零
  115. :一              
  116. set bb=%a:~3, 3%
  117. set cc=%a:~3, 3%
  118. set dd=%a:~3, 3%
  119. set ee=%a:~3, 3%
  120. set ff=%a:~3, 3%
  121. goto ss
  122. :二
  123. set bb=%a:~0, 3%
  124. set cc=%a:~3, 3%
  125. set dd=%a:~0, 3%
  126. set ee=%a:~2, 3%
  127. set ff=%a:~0, 3%
  128. goto ss
  129. :三
  130. set bb=%a:~0, 3%
  131. set cc=%a:~3, 3%
  132. set dd=%a:~0, 3%
  133. set ee=%a:~3, 3%
  134. set ff=%a:~0, 3%
  135. goto ss
  136. :四
  137. set bb=%a:~5, 3%
  138. set cc=%a:~5, 3%
  139. set dd=%a:~0, 3%
  140. set ee=%a:~3, 3%
  141. set ff=%a:~3, 3%
  142. goto ss
  143. :五
  144. set bb=%a:~0, 3%
  145. set cc=%a:~2, 3%
  146. set dd=%a:~0, 3%
  147. set ee=%a:~3, 3%
  148. set ff=%a:~0, 3%
  149. goto ss
  150. :六
  151. set bb=%a:~0, 3%
  152. set cc=%a:~2, 3%
  153. set dd=%a:~0, 3%
  154. set ee=%a:~5, 3%
  155. set ff=%a:~0, 3%
  156. goto ss
  157. :七
  158. set bb=%a:~0, 3%
  159. set cc=%a:~3, 3%
  160. set dd=%a:~3, 3%
  161. set ee=%a:~3, 3%
  162. set ff=%a:~3, 3%
  163. goto ss
  164. :八
  165. set bb=%a:~0, 3%
  166. set cc=%a:~5, 3%
  167. set dd=%a:~0, 3%
  168. set ee=%a:~5, 3%
  169. set ff=%a:~0, 3%
  170. goto ss
  171. :九
  172. set bb=%a:~0, 3%
  173. set cc=%a:~5, 3%
  174. set dd=%a:~0, 3%
  175. set ee=%a:~3, 3%
  176. set ff=%a:~0, 3%
  177. goto ss
  178. :零
  179. set bb=%a:~0, 3%
  180. set cc=%a:~5, 3%
  181. set dd=%a:~5, 3%
  182. set ee=%a:~5, 3%
  183. set ff=%a:~0, 3%
  184. :ss
  185. goto :eof
  186. :www
  187. if "%g%"=="1" goto 一
  188. if "%g%"=="2" goto 二
  189. if "%g%"=="3" goto 三
  190. if "%g%"=="4" goto 四
  191. if "%g%"=="5" goto 五
  192. if "%g%"=="6" goto 六
  193. if "%g%"=="7" goto 七
  194. if "%g%"=="8" goto 八
  195. if "%g%"=="9" goto 九
  196. if "%g%"=="0" goto 零
  197. :一              
  198. set bbb=%a:~3, 3%
  199. set ccc=%a:~3, 3%
  200. set ddd=%a:~3, 3%
  201. set eee=%a:~3, 3%
  202. set fff=%a:~3, 3%
  203. goto sss
  204. :二
  205. set bbb=%a:~0, 3%
  206. set ccc=%a:~3, 3%
  207. set ddd=%a:~0, 3%
  208. set eee=%a:~2, 3%
  209. set fff=%a:~0, 3%
  210. goto sss
  211. :三
  212. set bbb=%a:~0, 3%
  213. set ccc=%a:~3, 3%
  214. set ddd=%a:~0, 3%
  215. set eee=%a:~3, 3%
  216. set fff=%a:~0, 3%
  217. goto sss
  218. :四
  219. set bbb=%a:~5, 3%
  220. set ccc=%a:~5, 3%
  221. set ddd=%a:~0, 3%
  222. set eee=%a:~3, 3%
  223. set fff=%a:~3, 3%
  224. goto sss
  225. :五
  226. set bbb=%a:~0, 3%
  227. set ccc=%a:~2, 3%
  228. set ddd=%a:~0, 3%
  229. set eee=%a:~3, 3%
  230. set fff=%a:~0, 3%
  231. goto sss
  232. :六
  233. set bbb=%a:~0, 3%
  234. set ccc=%a:~2, 3%
  235. set ddd=%a:~0, 3%
  236. set eee=%a:~5, 3%
  237. set fff=%a:~0, 3%
  238. goto sss
  239. :七
  240. set bbb=%a:~0, 3%
  241. set ccc=%a:~3, 3%
  242. set ddd=%a:~3, 3%
  243. set eee=%a:~3, 3%
  244. set fff=%a:~3, 3%
  245. goto sss
  246. :八
  247. set bbb=%a:~0, 3%
  248. set ccc=%a:~5, 3%
  249. set ddd=%a:~0, 3%
  250. set eee=%a:~5, 3%
  251. set fff=%a:~0, 3%
  252. goto sss
  253. :九
  254. set bbb=%a:~0, 3%
  255. set ccc=%a:~5, 3%
  256. set ddd=%a:~0, 3%
  257. set eee=%a:~3, 3%
  258. set fff=%a:~0, 3%
  259. goto sss
  260. :零
  261. set bbb=%a:~0, 3%
  262. set ccc=%a:~5, 3%
  263. set ddd=%a:~5, 3%
  264. set eee=%a:~5, 3%
  265. set fff=%a:~0, 3%
  266. :sss
  267. goto :eof
  268. :wwww
  269. if "%g%"=="1" goto 一
  270. if "%g%"=="2" goto 二
  271. if "%g%"=="3" goto 三
  272. if "%g%"=="4" goto 四
  273. if "%g%"=="5" goto 五
  274. if "%g%"=="6" goto 六
  275. if "%g%"=="7" goto 七
  276. if "%g%"=="8" goto 八
  277. if "%g%"=="9" goto 九
  278. if "%g%"=="0" goto 零
  279. :一              
  280. set bbbb=%a:~3, 3%
  281. set cccc=%a:~3, 3%
  282. set dddd=%a:~3, 3%
  283. set eeee=%a:~3, 3%
  284. set ffff=%a:~3, 3%
  285. goto ssss
  286. :二
  287. set bbbb=%a:~0, 3%
  288. set cccc=%a:~3, 3%
  289. set dddd=%a:~0, 3%
  290. set eeee=%a:~2, 3%
  291. set ffff=%a:~0, 3%
  292. goto ssss
  293. :三
  294. set bbbb=%a:~0, 3%
  295. set cccc=%a:~3, 3%
  296. set dddd=%a:~0, 3%
  297. set eeee=%a:~3, 3%
  298. set ffff=%a:~0, 3%
  299. goto ssss
  300. :四
  301. set bbbb=%a:~5, 3%
  302. set cccc=%a:~5, 3%
  303. set dddd=%a:~0, 3%
  304. set eeee=%a:~3, 3%
  305. set ffff=%a:~3, 3%
  306. goto ssss
  307. :五
  308. set bbbb=%a:~0, 3%
  309. set cccc=%a:~2, 3%
  310. set dddd=%a:~0, 3%
  311. set eeee=%a:~3, 3%
  312. set ffff=%a:~0, 3%
  313. goto ssss
  314. :六
  315. set bbbb=%a:~0, 3%
  316. set cccc=%a:~2, 3%
  317. set dddd=%a:~0, 3%
  318. set eeee=%a:~5, 3%
  319. set ffff=%a:~0, 3%
  320. goto ssss
  321. :七
  322. set bbbb=%a:~0, 3%
  323. set cccc=%a:~3, 3%
  324. set dddd=%a:~3, 3%
  325. set eeee=%a:~3, 3%
  326. set ffff=%a:~3, 3%
  327. goto ssss
  328. :八
  329. set bbbb=%a:~0, 3%
  330. set cccc=%a:~5, 3%
  331. set dddd=%a:~0, 3%
  332. set eeee=%a:~5, 3%
  333. set ffff=%a:~0, 3%
  334. goto ssss
  335. :九
  336. set bbbb=%a:~0, 3%
  337. set cccc=%a:~5, 3%
  338. set dddd=%a:~0, 3%
  339. set eeee=%a:~3, 3%
  340. set ffff=%a:~0, 3%
  341. goto ssss
  342. :零
  343. set bbbb=%a:~0, 3%
  344. set cccc=%a:~5, 3%
  345. set dddd=%a:~5, 3%
  346. set eeee=%a:~5, 3%
  347. set ffff=%a:~0, 3%
  348. :ssss
  349. goto :eof
复制代码

TOP

回复 3楼 的帖子

高手!代码看不太懂。我想知道,你们是怎么学习批处理的?希望能指点一下

TOP

回复 8楼 的帖子

你多看看教程,你似乎还不知道!号变量,也就是变量延迟。
然后做做论坛的题目,如教学版块的新手练功区的:新手练习题等

TOP

推荐教程:批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9楼 的帖子

非常感谢!变量延迟是知道,就是不会应用!呵呵

TOP

得到启发,另一个电子数字显示当前时间。
  1. @echo off
  2. :tt
  3. cls&setlocal enabledelayedexpansion
  4. title 电子数字显示当前时间[%time:~0,8%]
  5. color 17
  6. mode con cols=50 lines=7
  7. set H1=■■■ ■ ■■■■■■■ ■■■■■■■■■■■■■■■■ 
  8. set H2=■ ■ ■   ■  ■■ ■■  ■    ■■ ■■ ■
  9. set H3=■ ■ ■ ■■■■■■■■■■■■■■■  ■■■■■■■ 
  10. set H4=■ ■ ■ ■    ■  ■  ■■ ■  ■■ ■  ■
  11. set H5=■■■ ■ ■■■■■■  ■■■■■■■  ■■■■■■■ 
  12. ::截取时间的六位数,分别乘以3,得到各个相应的电子数字  
  13. set/a b=%time:~0,1%*3
  14. set/a c=%time:~1,1%*3
  15. set/a d=%time:~3,1%*3
  16. set/a e=%time:~4,1%*3
  17. set/a f=%time:~6,1%*3
  18. set/a g=%time:~7,1%*3
  19. echo.
  20. echo !h1:~%b%,3! !h1:~%c%,3!    !h1:~%d%,3! !h1:~%e%,3!    !h1:~%f%,3! !h1:~%g%,3!
  21. echo !h2:~%b%,3! !h2:~%c%,3! ■ !h2:~%d%,3! !h2:~%e%,3! ■ !h2:~%f%,3! !h2:~%g%,3!
  22. echo !h3:~%b%,3! !h3:~%c%,3!    !h3:~%d%,3! !h3:~%e%,3!    !h3:~%f%,3! !h3:~%g%,3!
  23. echo !h4:~%b%,3! !h4:~%c%,3! ■ !h4:~%d%,3! !h4:~%e%,3! ■ !h4:~%f%,3! !h4:~%g%,3!
  24. echo !h5:~%b%,3! !h5:~%c%,3!    !h5:~%d%,3! !h5:~%e%,3!    !h5:~%f%,3! !h5:~%g%,3!
  25. :t
  26. set/a gg=%time:~7,1%*3
  27. if %g%==%gg% (goto t) else goto tt
复制代码
1

评分人数

TOP

返回列表