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

[游戏娱乐] 也做个批处理数字钟

本帖最后由 neorobin 于 2012-5-23 23:26 编辑

测试环境: XP 32 位, WIN7 32 位

图 1. 以 ASCII-219 和 ASCII-4 显示的效果(代码在 codepage 437 下正常, codepage 936 不正常显示)


图 2. 以 # 和 * 显示的效果(适应各种代码页)


CODE 1. 以 ASCII-219 和 ASCII-4 显示, 为避免代码受损, 上传为附件


CODE 2. 以 # 和 * 显示(适应各种代码页)
  1. @echo off & setlocal enabledelayedexpansion & mode con cols=27 lines=6 & color 0a
  2. set "cc=# "
  3. for %%a in (4 1 2 1 2 1 4 2 1 2 1 2 1 2 1 2 4 2 5 2 6 2 4 2 5 1 2
  4. 1 4 2 1 2 5 2 3 2 8 2 4 1 7 2 1 2 1 2 1 2 5 1 5 1 8 1 4 2 4) do (
  5.   set "cc=!cc:~-1!!cc:~0,1!"
  6.   for /l %%i in (1,1,%%a) do set "dgts=!dgts!!cc:~-1!"
  7. )
  8. for /l %%z in (0 0 0) do (
  9.   if "!time:~7,1!" neq "!sec!" (
  10.     set "sec=!time:~7,1!" & set "oc="
  11.     for /l %%h in (0,1,4) do (
  12.       for %%d in (0 sp 1 sp : sp 3 sp 4 sp : sp 6 sp 7) do (
  13.         if "%%d"==":" (set /a "tt=%%h&1"&if "!tt!"=="0" (set oc=!oc! ) else set oc=!oc!*) else (
  14.           if "%%d"=="sp" (set oc=!oc! ) else (
  15.             set "timeP=!time: =0!"&set /a s=!timeP:~%%d,1!*15+%%h*3
  16.             for %%o in (!s!) do set "oc=!oc!!dgts:~%%o,3!"
  17. ))))&cls & set /p=!oc!<nul))
复制代码
CODE 3. 以 ■ 和 ● 显示, 仅在 codepage 936 下测试过正常.
  1. @echo off & setlocal enabledelayedexpansion & mode con cols=54 lines=6 & color 0a
  2. chcp 936 & rem Only tested under Chinese Simplified
  3. set "sp= " & set "cc=■!sp!"
  4. for %%a in (4 1 2 1 2 1 4 2 1 2 1 2 1 2 1 2 4 2 5 2 6 2 4 2 5 1 2
  5. 1 4 2 1 2 5 2 3 2 8 2 4 1 7 2 1 2 1 2 1 2 5 1 5 1 8 1 4 2 4) do (
  6.   set "cc=!cc:~-1!!cc:~0,1!"
  7.   for /l %%i in (1,1,%%a) do set "dgts=!dgts!!cc:~-1!"
  8. )
  9. for /l %%z in () do (
  10.   if "!time:~7,1!" neq "!sec!" (
  11.     set "sec=!time:~7,1!" & set "oc="
  12.     for /l %%h in (0,1,4) do (
  13.       for %%d in (0 sp 1 sp : sp 3 sp 4 sp : sp 6 sp 7) do (
  14.         if "%%d"==":" (set /a "tt=%%h&1"&if "!tt!"=="0" (set oc=!oc!!sp!) else set oc=!oc!●) else (
  15.           if "%%d"=="sp" (set oc=!oc!!sp!) else (
  16.             set "timeP=!time: =0!"&set /a s=!timeP:~%%d,1!*15+%%h*3
  17.             for %%o in (!s!) do set "oc=!oc!!dgts:~%%o,3!"
  18. ))))&cls & set /p=!oc!<nul))
复制代码
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
3

评分人数

返回列表