コマンドプロンプトでアナログ時計

こんなん

@echo off

echo Now Loading ..

set /a scrHeight = 22

set  short[0][0]=..........................
set  short[0][1]=..........................
set  short[0][2]=..........................
set  short[0][3]=..........................
set  short[0][4]=..........................
set  short[0][5]=.............#............
set  short[0][6]=.............#............
set  short[0][7]=.............#............
set  short[0][8]=.............#............
set  short[0][9]=.............#............
set short[0][10]=.............#............
set short[0][11]=.............#............

set  short[1][0]=..........................
set  short[1][1]=..........................
set  short[1][2]=..........................
set  short[1][3]=..........................
set  short[1][4]=..........................
set  short[1][5]=..............#...........
set  short[1][6]=..............#...........
set  short[1][7]=..............#...........
set  short[1][8]=..............#...........
set  short[1][9]=.............#............
set short[1][10]=.............#............
set short[1][11]=.............#............

set  short[2][0]=..........................
set  short[2][1]=..........................
set  short[2][2]=..........................
set  short[2][3]=..........................
set  short[2][4]=..........................
set  short[2][5]=..............#...........
set  short[2][6]=..............#...........
set  short[2][7]=..............#...........
set  short[2][8]=..............#...........
set  short[2][9]=.............#............
set short[2][10]=.............#............
set short[2][11]=.............#............

set  short[3][0]=..........................
set  short[3][1]=..........................
set  short[3][2]=..........................
set  short[3][3]=..........................
set  short[3][4]=..........................
set  short[3][5]=...............#..........
set  short[3][6]=...............#..........
set  short[3][7]=..............#...........
set  short[3][8]=..............#...........
set  short[3][9]=..............#...........
set short[3][10]=.............#............
set short[3][11]=.............#............

set  short[4][0]=..........................
set  short[4][1]=..........................
set  short[4][2]=..........................
set  short[4][3]=..........................
set  short[4][4]=..........................
set  short[4][5]=..........................
set  short[4][6]=...............#..........
set  short[4][7]=...............#..........
set  short[4][8]=..............#...........
set  short[4][9]=..............#...........
set short[4][10]=.............#............
set short[4][11]=.............#............

set  short[5][0]=..........................
set  short[5][1]=..........................
set  short[5][2]=..........................
set  short[5][3]=..........................
set  short[5][4]=..........................
set  short[5][5]=..........................
set  short[5][6]=................#.........
set  short[5][7]=...............#..........
set  short[5][8]=...............#..........
set  short[5][9]=..............#...........
set short[5][10]=..............#...........
set short[5][11]=.............#............

set  short[6][0]=..........................
set  short[6][1]=..........................
set  short[6][2]=..........................
set  short[6][3]=..........................
set  short[6][4]=..........................
set  short[6][5]=..........................
set  short[6][6]=.................#........
set  short[6][7]=................#.........
set  short[6][8]=...............#..........
set  short[6][9]=...............#..........
set short[6][10]=..............#...........
set short[6][11]=.............#............

set  short[7][0]=..........................
set  short[7][1]=..........................
set  short[7][2]=..........................
set  short[7][3]=..........................
set  short[7][4]=..........................
set  short[7][5]=..........................
set  short[7][6]=..........................
set  short[7][7]=.................#........
set  short[7][8]=................#.........
set  short[7][9]=...............#..........
set short[7][10]=..............#...........
set short[7][11]=.............#............

set  short[8][0]=..........................
set  short[8][1]=..........................
set  short[8][2]=..........................
set  short[8][3]=..........................
set  short[8][4]=..........................
set  short[8][5]=..........................
set  short[8][6]=..........................
set  short[8][7]=.................#........
set  short[8][8]=................#.........
set  short[8][9]=...............#..........
set short[8][10]=..............#...........
set short[8][11]=.............#............

set  short[9][0]=..........................
set  short[9][1]=..........................
set  short[9][2]=..........................
set  short[9][3]=..........................
set  short[9][4]=..........................
set  short[9][5]=..........................
set  short[9][6]=..........................
set  short[9][7]=..................#.......
set  short[9][8]=.................#........
set  short[9][9]=...............##.........
set short[9][10]=..............#...........
set short[9][11]=.............#............

set  short[10][0]=..........................
set  short[10][1]=..........................
set  short[10][2]=..........................
set  short[10][3]=..........................
set  short[10][4]=..........................
set  short[10][5]=..........................
set  short[10][6]=..........................
set  short[10][7]=..........................
set  short[10][8]=..................#.......
set  short[10][9]=................##........
set short[10][10]=..............##..........
set short[10][11]=.............#............

set  short[11][0]=..........................
set  short[11][1]=..........................
set  short[11][2]=..........................
set  short[11][3]=..........................
set  short[11][4]=..........................
set  short[11][5]=..........................
set  short[11][6]=..........................
set  short[11][7]=..........................
set  short[11][8]=..........................
set  short[11][9]=.................##.......
set short[11][10]=...............##.........
set short[11][11]=.............##...........

set  short[12][0]=..........................
set  short[12][1]=..........................
set  short[12][2]=..........................
set  short[12][3]=..........................
set  short[12][4]=..........................
set  short[12][5]=..........................
set  short[12][6]=..........................
set  short[12][7]=..........................
set  short[12][8]=..........................
set  short[12][9]=..................##......
set short[12][10]=...............###........
set short[12][11]=.............##...........

set  short[13][0]=..........................
set  short[13][1]=..........................
set  short[13][2]=..........................
set  short[13][3]=..........................
set  short[13][4]=..........................
set  short[13][5]=..........................
set  short[13][6]=..........................
set  short[13][7]=..........................
set  short[13][8]=..........................
set  short[13][9]=..........................
set short[13][10]=................####......
set short[13][11]=.............###..........

set  short[14][0]=..........................
set  short[14][1]=..........................
set  short[14][2]=..........................
set  short[14][3]=..........................
set  short[14][4]=..........................
set  short[14][5]=..........................
set  short[14][6]=..........................
set  short[14][7]=..........................
set  short[14][8]=..........................
set  short[14][9]=..........................
set short[14][10]=................####......
set short[14][11]=.............###..........

set  short[15][0]=..........................
set  short[15][1]=..........................
set  short[15][2]=..........................
set  short[15][3]=..........................
set  short[15][4]=..........................
set  short[15][5]=..........................
set  short[15][6]=..........................
set  short[15][7]=..........................
set  short[15][8]=..........................
set  short[15][9]=..........................
set short[15][10]=..........................
set short[15][11]=.............#######......

set  long[0][0]=.............#............
set  long[0][1]=.............#............
set  long[0][2]=.............#............
set  long[0][3]=.............#............
set  long[0][4]=.............#............
set  long[0][5]=.............#............
set  long[0][6]=.............#............
set  long[0][7]=.............#............
set  long[0][8]=.............#............
set  long[0][9]=.............#............
set long[0][10]=.............#............
set long[0][11]=.............#............

set  long[1][0]=..............#...........
set  long[1][1]=..............#...........
set  long[1][2]=..............#...........
set  long[1][3]=..............#...........
set  long[1][4]=..............#...........
set  long[1][5]=..............#...........
set  long[1][6]=.............#............
set  long[1][7]=.............#............
set  long[1][8]=.............#............
set  long[1][9]=.............#............
set long[1][10]=.............#............
set long[1][11]=.............#............

set  long[2][0]=...............#..........
set  long[2][1]=...............#..........
set  long[2][2]=...............#..........
set  long[2][3]=..............#...........
set  long[2][4]=..............#...........
set  long[2][5]=..............#...........
set  long[2][6]=..............#...........
set  long[2][7]=..............#...........
set  long[2][8]=..............#...........
set  long[2][9]=.............#............
set long[2][10]=.............#............
set long[2][11]=.............#............

set  long[3][0]=..........................
set  long[3][1]=.................#........
set  long[3][2]=.................#........
set  long[3][3]=................#.........
set  long[3][4]=................#.........
set  long[3][5]=...............#..........
set  long[3][6]=...............#..........
set  long[3][7]=...............#..........
set  long[3][8]=..............#...........
set  long[3][9]=..............#...........
set long[3][10]=.............#............
set long[3][11]=.............#............

set  long[4][0]=..........................
set  long[4][1]=..................#.......
set  long[4][2]=..................#.......
set  long[4][3]=.................#........
set  long[4][4]=.................#........
set  long[4][5]=................#.........
set  long[4][6]=................#.........
set  long[4][7]=...............#..........
set  long[4][8]=...............#..........
set  long[4][9]=..............#...........
set long[4][10]=..............#...........
set long[4][11]=.............#............

set  long[5][0]=..........................
set  long[5][1]=...................#......
set  long[5][2]=..................#.......
set  long[5][3]=..................#.......
set  long[5][4]=.................#........
set  long[5][5]=.................#........
set  long[5][6]=................#.........
set  long[5][7]=...............#..........
set  long[5][8]=...............#..........
set  long[5][9]=..............#...........
set long[5][10]=..............#...........
set long[5][11]=.............#............

set  long[6][0]=..........................
set  long[6][1]=..........................
set  long[6][2]=....................#.....
set  long[6][3]=...................#......
set  long[6][4]=..................#.......
set  long[6][5]=..................#.......
set  long[6][6]=.................#........
set  long[6][7]=................#.........
set  long[6][8]=...............#..........
set  long[6][9]=...............#..........
set long[6][10]=..............#...........
set long[6][11]=.............#............

set  long[7][0]=..........................
set  long[7][1]=..........................
set  long[7][2]=..........................
set  long[7][3]=.....................#....
set  long[7][4]=....................#.....
set  long[7][5]=...................#......
set  long[7][6]=..................#.......
set  long[7][7]=.................#........
set  long[7][8]=................#.........
set  long[7][9]=...............#..........
set long[7][10]=..............#...........
set long[7][11]=.............#............

set  long[8][0]=..........................
set  long[8][1]=..........................
set  long[8][2]=..........................
set  long[8][3]=..........................
set  long[8][4]=......................#...
set  long[8][5]=.....................#....
set  long[8][6]=...................##.....
set  long[8][7]=..................#.......
set  long[8][8]=.................#........
set  long[8][9]=...............##.........
set long[8][10]=..............#...........
set long[8][11]=.............#............

set  long[9][0]=..........................
set  long[9][1]=..........................
set  long[9][2]=..........................
set  long[9][3]=..........................
set  long[9][4]=..........................
set  long[9][5]=.......................#..
set  long[9][6]=.....................##...
set  long[9][7]=...................##.....
set  long[9][8]=..................#.......
set  long[9][9]=................##........
set long[9][10]=..............##..........
set long[9][11]=.............#............

set  long[10][0]=..........................
set  long[10][1]=..........................
set  long[10][2]=..........................
set  long[10][3]=..........................
set  long[10][4]=..........................
set  long[10][5]=..........................
set  long[10][6]=......................##..
set  long[10][7]=....................##....
set  long[10][8]=..................##......
set  long[10][9]=................##........
set long[10][10]=..............##..........
set long[10][11]=.............#............

set  long[11][0]=..........................
set  long[11][1]=..........................
set  long[11][2]=..........................
set  long[11][3]=..........................
set  long[11][4]=..........................
set  long[11][5]=..........................
set  long[11][6]=..........................
set  long[11][7]=.......................##.
set  long[11][8]=....................###...
set  long[11][9]=..................##......
set long[11][10]=...............###........
set long[11][11]=.............##...........

set  long[12][0]=..........................
set  long[12][1]=..........................
set  long[12][2]=..........................
set  long[12][3]=..........................
set  long[12][4]=..........................
set  long[12][5]=..........................
set  long[12][6]=..........................
set  long[12][7]=..........................
set  long[12][8]=.......................##.
set  long[12][9]=...................####...
set long[12][10]=...............####.......
set long[12][11]=.............##...........

set  long[13][0]=..........................
set  long[13][1]=..........................
set  long[13][2]=..........................
set  long[13][3]=..........................
set  long[13][4]=..........................
set  long[13][5]=..........................
set  long[13][6]=..........................
set  long[13][7]=..........................
set  long[13][8]=..........................
set  long[13][9]=......................####
set long[13][10]=................######....
set long[13][11]=.............###..........

set  long[14][0]=..........................
set  long[14][1]=..........................
set  long[14][2]=..........................
set  long[14][3]=..........................
set  long[14][4]=..........................
set  long[14][5]=..........................
set  long[14][6]=..........................
set  long[14][7]=..........................
set  long[14][8]=..........................
set  long[14][9]=..........................
set long[14][10]=...................#######
set long[14][11]=.............######.......

set  long[15][0]=..........................
set  long[15][1]=..........................
set  long[15][2]=..........................
set  long[15][3]=..........................
set  long[15][4]=..........................
set  long[15][5]=..........................
set  long[15][6]=..........................
set  long[15][7]=..........................
set  long[15][8]=..........................
set  long[15][9]=..........................
set long[15][10]=..........................
set long[15][11]=.............#############

setlocal enabledelayedexpansion

REM ----- 1630 のドットデータを作る(上下反転)
for /L %%i in (16, 1, 30) do (
  for /L %%j in (11, 1, 22) do (
    set /a s = 30 - %%i
    set /a t = 22 - %%j
    call set short[%%i][%%j]=%%short[!s!][!t!]%%
    call set long[%%i][%%j]=%%long[!s!][!t!]%%
  )
)

REM ----- 3145 のドットデータを作る(左右反転)
for /L %%i in (31, 1, 45) do (
  for /L %%j in (11, 1, 22) do (
    set /a s = 60 - %%i
    set /a t = %%j
    call set lineBufS=.
    call set lineBufL=.
    for /L %%u in (-1, -1, -13) do (
      call set lineBufS=!lineBufS!%%short[!s!][!t!]:~%%u,1%%
      call set lineBufL=!lineBufL!%%long[!s!][!t!]:~%%u,1%%
    )
    call set short[%%i][%%j]=!lineBufS!
    call set long[%%i][%%j]=!lineBufL!
  )
)

REM ----- 4659 のドットデータを作る(左右反転)
for /L %%i in (46, 1, 59) do (
  for /L %%j in (0, 1, 11) do (
    set /a s = 60 - %%i
    set /a t = %%j
    call set lineBufS=.
    call set lineBufL=.
    for /L %%u in (-1, -1, -13) do (
      call set lineBufS=!lineBufS!%%short[!s!][!t!]:~%%u,1%%
      call set lineBufL=!lineBufL!%%long[!s!][!t!]:~%%u,1%%
    )
    call set short[%%i][%%j]=!lineBufS!
    call set long[%%i][%%j]=!lineBufL!
  )
)

REM ----- カンマでdelimsできるようにしておく
for /L %%i in (0, 1, 59) do (
  for /L %%j in (0, 1, %scrHeight%) do (
    call set short[%%i][%%j]=%%short[%%i][%%j]:#=#,%%
    call set short[%%i][%%j]=%%short[%%i][%%j]:.=.,%%
    call set long[%%i][%%j]=%%long[%%i][%%j]:#=#,%%
    call set long[%%i][%%j]=%%long[%%i][%%j]:.=.,%%
  )
)

:LOOPTOP

REM ----- 時刻データを取得
set seconds=%time:~6,2%
if %seconds% LSS 10 set seconds=%seconds:~1,1%
set minutes=%time:~3,2%
if %minutes% LSS 10 set minutes=%minutes:~1,1%
set hours=%time:~0,2%
if %hours% LSS 10 set hours=%hours:~1,1%
set /a hours=((%hours%) %% 12 * 5) + (%minutes% / 12)

REM ----- スクリーンバッファの初期化
set  scrBuf[0]=.............#............
set  scrBuf[1]=.......#...........#......
set  scrBuf[2]=..........................
set  scrBuf[3]=..........................
set  scrBuf[4]=..........................
set  scrBuf[5]=..........................
set  scrBuf[6]=...#...................#..
set  scrBuf[7]=..........................
set  scrBuf[8]=..........................
set  scrBuf[9]=..........................
set scrBuf[10]=..........................
set scrBuf[11]=.#.......................#
set scrBuf[12]=..........................
set scrBuf[13]=..........................
set scrBuf[14]=..........................
set scrBuf[15]=..........................
set scrBuf[16]=...#...................#..
set scrBuf[17]=..........................
set scrBuf[18]=..........................
set scrBuf[19]=..........................
set scrBuf[20]=..........................
set scrBuf[21]=.......#...........#......
set scrBuf[22]=.............#............

REM ----- 時・分・秒でループ
for /L %%I in (0, 1, 2) do (
  
  REM ----- スクリーンの高さ分ループ
  for /L %%A in (0, 1, %scrHeight%) do (
    
    REM ----- ドットデータを取得
    if "%%I"=="0" call set eachLine=%%short[!hours!][%%A]%%  & REM 時
    if "%%I"=="1" call set eachLine=%%long[!minutes!][%%A]%% & REM 分
    if "%%I"=="2" call set eachLine=%%long[!seconds!][%%A]%% & REM 秒
    
    REM ----- スクリーンバッファにドットデータを書き込む
    call set lineBuf=%%scrBuf[%%A]%%
    for /F "tokens=1-26 delims=," %%a in ("!eachLine!") do (
      if "%%a"=="#" (set lineBuf=!lineBuf:~0,0!#!lineBuf:~1!) 
      if "%%b"=="#" (set lineBuf=!lineBuf:~0,1!#!lineBuf:~2!)
      if "%%c"=="#" (set lineBuf=!lineBuf:~0,2!#!lineBuf:~3!)
      if "%%d"=="#" (set lineBuf=!lineBuf:~0,3!#!lineBuf:~4!)
      if "%%e"=="#" (set lineBuf=!lineBuf:~0,4!#!lineBuf:~5!)
      if "%%f"=="#" (set lineBuf=!lineBuf:~0,5!#!lineBuf:~6!) 
      if "%%g"=="#" (set lineBuf=!lineBuf:~0,6!#!lineBuf:~7!)
      if "%%h"=="#" (set lineBuf=!lineBuf:~0,7!#!lineBuf:~8!)
      if "%%i"=="#" (set lineBuf=!lineBuf:~0,8!#!lineBuf:~9!)
      if "%%j"=="#" (set lineBuf=!lineBuf:~0,9!#!lineBuf:~10!)
      if "%%k"=="#" (set lineBuf=!lineBuf:~0,10!#!lineBuf:~11!) 
      if "%%l"=="#" (set lineBuf=!lineBuf:~0,11!#!lineBuf:~12!)
      if "%%m"=="#" (set lineBuf=!lineBuf:~0,12!#!lineBuf:~13!)
      if "%%n"=="#" (set lineBuf=!lineBuf:~0,13!#!lineBuf:~14!)
      if "%%o"=="#" (set lineBuf=!lineBuf:~0,14!#!lineBuf:~15!)
      if "%%p"=="#" (set lineBuf=!lineBuf:~0,15!#!lineBuf:~16!) 
      if "%%q"=="#" (set lineBuf=!lineBuf:~0,16!#!lineBuf:~17!)
      if "%%r"=="#" (set lineBuf=!lineBuf:~0,17!#!lineBuf:~18!)
      if "%%s"=="#" (set lineBuf=!lineBuf:~0,18!#!lineBuf:~19!)
      if "%%t"=="#" (set lineBuf=!lineBuf:~0,19!#!lineBuf:~20!)
      if "%%u"=="#" (set lineBuf=!lineBuf:~0,20!#!lineBuf:~21!) 
      if "%%v"=="#" (set lineBuf=!lineBuf:~0,21!#!lineBuf:~22!)
      if "%%w"=="#" (set lineBuf=!lineBuf:~0,22!#!lineBuf:~23!)
      if "%%x"=="#" (set lineBuf=!lineBuf:~0,23!#!lineBuf:~24!) 
      if "%%y"=="#" (set lineBuf=!lineBuf:~0,24!#!lineBuf:~25!)
      if "%%z"=="#" (set lineBuf=!lineBuf:~0,25!#)
    )
    call set scrBuf[%%A]=!lineBuf!
  )
)

REM ----- 描画処理
CLS
for /L %%A in (0, 1, %scrHeight%) do (
  
  REM ----- カンマの消去
  call set scrBuf[%%A]=%%scrBuf[%%A]:,=%%
  
  REM ----- 倍化
  call set scrBuf[%%A]=%%scrBuf[%%A]:.=  %%
  call set scrBuf[%%A]=%%scrBuf[%%A]:#=##%%
  REM call set scrBuf[%%A]=%%scrBuf[%%A]:.=..%%
  
  call set valForEval=%%scrBuf[%%A]%%
  if "!valForEval!" NEQ "                                                    " (
    call echo              %%scrBuf[%%A]%%
  ) else (
    echo.
  )
)
title %time:~0,8%

timeout 1 > NUL

goto :LOOPTOP

endlocal