コマンドプロンプトでポケットステーション風時計

こんなん

@echo off

REM ----- メインループ
call :init
:loopTop
  cls

  echo.
  call :display1 %month1:~0,1% %month1:~1,1% %day1:~0,1% %day1:~1,1% %dayOfTheWeek%
  
  echo.
  echo.
  echo.
  
  set time2=%time: =0%
  set h1=%time2:~0,1%
  set h2=%time2:~1,1%
  set m1=%time2:~3,1%
  set m2=%time2:~4,1%
  set s1=%time2:~6,1%
  set s2=%time2:~7,1%
  call :display2 %h1% %h2% %m1% %m2% %counter%
  
  title %date% %time% (%counter%)
  
  call :sleep500
  
  set /a counter += 1
  
goto :loopTop

:sleep500
  cscript.exe sleep500.vbs >NUL
  exit /b

REM ----- 上段表示
:display1
  set char1=%1
  set char2=%2
  set char3=%3
  set char4=%4
  set char5=%5
  
  call set dispChar[0][1]=%%smallCharSetForMonth[%char1%][1]%%
  call set dispChar[0][2]=%%smallCharSetForMonth[%char1%][2]%%
  call set dispChar[0][3]=%%smallCharSetForMonth[%char1%][3]%%
  call set dispChar[0][4]=%%smallCharSetForMonth[%char1%][4]%%
  call set dispChar[0][5]=%%smallCharSetForMonth[%char1%][5]%%
  
  call set dispChar[1][1]=%%smallCharSet[%char2%][1]%%
  call set dispChar[1][2]=%%smallCharSet[%char2%][2]%%
  call set dispChar[1][3]=%%smallCharSet[%char2%][3]%%
  call set dispChar[1][4]=%%smallCharSet[%char2%][4]%%
  call set dispChar[1][5]=%%smallCharSet[%char2%][5]%%
  
  call set dispChar[2][1]=%%slash[1]%%
  call set dispChar[2][2]=%%slash[2]%%
  call set dispChar[2][3]=%%slash[3]%%
  call set dispChar[2][4]=%%slash[4]%%
  call set dispChar[2][5]=%%slash[5]%%
  
  call set dispChar[3][1]=%%smallCharSet[%char3%][1]%%
  call set dispChar[3][2]=%%smallCharSet[%char3%][2]%%
  call set dispChar[3][3]=%%smallCharSet[%char3%][3]%%
  call set dispChar[3][4]=%%smallCharSet[%char3%][4]%%
  call set dispChar[3][5]=%%smallCharSet[%char3%][5]%%

  call set dispChar[4][1]=%%smallCharSet[%char4%][1]%%
  call set dispChar[4][2]=%%smallCharSet[%char4%][2]%%
  call set dispChar[4][3]=%%smallCharSet[%char4%][3]%%
  call set dispChar[4][4]=%%smallCharSet[%char4%][4]%%
  call set dispChar[4][5]=%%smallCharSet[%char4%][5]%%
  
  call set dispChar[5][1]=%%dayCharSet[%char5%][1]%%
  call set dispChar[5][2]=%%dayCharSet[%char5%][2]%%
  call set dispChar[5][3]=%%dayCharSet[%char5%][3]%%
  call set dispChar[5][4]=%%dayCharSet[%char5%][4]%%
  call set dispChar[5][5]=%%dayCharSet[%char5%][5]%%
  
  echo  %dispChar[0][1]%  %dispChar[1][1]%  %dispChar[2][1]%  %dispChar[3][1]%  %dispChar[4][1]%  %dispChar[5][1]%
  echo  %dispChar[0][2]%  %dispChar[1][2]%  %dispChar[2][2]%  %dispChar[3][2]%  %dispChar[4][2]%  %dispChar[5][2]%
  echo  %dispChar[0][3]%  %dispChar[1][3]%  %dispChar[2][3]%  %dispChar[3][3]%  %dispChar[4][3]%  %dispChar[5][3]%
  echo  %dispChar[0][4]%  %dispChar[1][4]%  %dispChar[2][4]%  %dispChar[3][4]%  %dispChar[4][4]%  %dispChar[5][4]%
  echo  %dispChar[0][5]%  %dispChar[1][5]%  %dispChar[2][5]%  %dispChar[3][5]%  %dispChar[4][5]%  %dispChar[5][5]%
exit /b


REM ----- 下段表示
:display2
  set char1=%1
  set char2=%2
  set char3=%3
  set char4=%4
  set char5=%5
  
  set /a secmod4 = char5 %% 4
  call set dispChar[0][1]=%%heart[%secmod4%][1]%%
  call set dispChar[0][2]=%%heart[%secmod4%][2]%%
  call set dispChar[0][3]=%%heart[%secmod4%][3]%%
  call set dispChar[0][4]=%%heart[%secmod4%][4]%%
  call set dispChar[0][5]=%%heart[%secmod4%][5]%%
  call set dispChar[0][6]=%%heart[%secmod4%][6]%%
  call set dispChar[0][7]=%%heart[%secmod4%][7]%%
  
  call set dispChar[1][1]=%%largeCharSet[%char1%][1]%%
  call set dispChar[1][2]=%%largeCharSet[%char1%][2]%%
  call set dispChar[1][3]=%%largeCharSet[%char1%][3]%%
  call set dispChar[1][4]=%%largeCharSet[%char1%][4]%%
  call set dispChar[1][5]=%%largeCharSet[%char1%][5]%%
  call set dispChar[1][6]=%%largeCharSet[%char1%][6]%%
  call set dispChar[1][7]=%%largeCharSet[%char1%][7]%%
  
  call set dispChar[2][1]=%%largeCharSet[%char2%][1]%%
  call set dispChar[2][2]=%%largeCharSet[%char2%][2]%%
  call set dispChar[2][3]=%%largeCharSet[%char2%][3]%%
  call set dispChar[2][4]=%%largeCharSet[%char2%][4]%%
  call set dispChar[2][5]=%%largeCharSet[%char2%][5]%%
  call set dispChar[2][6]=%%largeCharSet[%char2%][6]%%
  call set dispChar[2][7]=%%largeCharSet[%char2%][7]%%
  
  call set dispChar[3][1]=%%colon[%secmod4%][1]%%
  call set dispChar[3][2]=%%colon[%secmod4%][2]%%
  call set dispChar[3][3]=%%colon[%secmod4%][3]%%
  call set dispChar[3][4]=%%colon[%secmod4%][4]%%
  call set dispChar[3][5]=%%colon[%secmod4%][5]%%
  call set dispChar[3][6]=%%colon[%secmod4%][6]%%
  call set dispChar[3][7]=%%colon[%secmod4%][7]%%

  call set dispChar[4][1]=%%largeCharSet[%char3%][1]%%
  call set dispChar[4][2]=%%largeCharSet[%char3%][2]%%
  call set dispChar[4][3]=%%largeCharSet[%char3%][3]%%
  call set dispChar[4][4]=%%largeCharSet[%char3%][4]%%
  call set dispChar[4][5]=%%largeCharSet[%char3%][5]%%
  call set dispChar[4][6]=%%largeCharSet[%char3%][6]%%
  call set dispChar[4][7]=%%largeCharSet[%char3%][7]%%
  
  call set dispChar[5][1]=%%largeCharSet[%char4%][1]%%
  call set dispChar[5][2]=%%largeCharSet[%char4%][2]%%
  call set dispChar[5][3]=%%largeCharSet[%char4%][3]%%
  call set dispChar[5][4]=%%largeCharSet[%char4%][4]%%
  call set dispChar[5][5]=%%largeCharSet[%char4%][5]%%
  call set dispChar[5][6]=%%largeCharSet[%char4%][6]%%
  call set dispChar[5][7]=%%largeCharSet[%char4%][7]%%
  
  echo  %dispChar[0][1]%  %dispChar[1][1]%  %dispChar[2][1]%  %dispChar[3][1]%  %dispChar[4][1]%  %dispChar[5][1]%
  echo  %dispChar[0][2]%  %dispChar[1][2]%  %dispChar[2][2]%  %dispChar[3][2]%  %dispChar[4][2]%  %dispChar[5][2]%
  echo  %dispChar[0][3]%  %dispChar[1][3]%  %dispChar[2][3]%  %dispChar[3][3]%  %dispChar[4][3]%  %dispChar[5][3]%
  echo  %dispChar[0][4]%  %dispChar[1][4]%  %dispChar[2][4]%  %dispChar[3][4]%  %dispChar[4][4]%  %dispChar[5][4]%
  echo  %dispChar[0][5]%  %dispChar[1][5]%  %dispChar[2][5]%  %dispChar[3][5]%  %dispChar[4][5]%  %dispChar[5][5]%
  echo  %dispChar[0][6]%  %dispChar[1][6]%  %dispChar[2][6]%  %dispChar[3][6]%  %dispChar[4][6]%  %dispChar[5][6]%
  echo  %dispChar[0][7]%  %dispChar[1][7]%  %dispChar[2][7]%  %dispChar[3][7]%  %dispChar[4][7]%  %dispChar[5][7]%
  
  exit /b

REM ----- 初期化
:init

  REM ----- ハートビートアニメ用カウンタ
  set /a counter = 0
  
  REM ----- 0.5秒スリープさせるVBスクリプトを生成
  if not exist sleep500.vbs (ECHO WScript.sleep 500 >sleep500.vbs)

  REM ----- 曜日を算出
  set year=%DATE:~0,4%
  set month1=%DATE:~5,2%
  set month2=%DATE:~5,2%
  set day1=%DATE:~8,2%
  set day2=%DATE:~8,2%
  if %month2% LSS 10 set month2=%month2:~1,1%
  if %day2% LSS 10 set day2=%day2:~1,1%
  if %month2% LEQ 2 (
    set /a year   = year - 1
    set /a month2 = month2 + 12
  )
  set /a dayOfTheWeek=(year + year / 4 - year / 100 + year / 400 + (13 * month2 + 8) / 5 + day2) %% 7
  
  REM ----- 以下、大文字を生成
  
  set largeCharSet[0][1]=  ######  
  set largeCharSet[0][2]=##      ##
  set largeCharSet[0][3]=##    ####
  set largeCharSet[0][4]=##  ##  ##
  set largeCharSet[0][5]=####    ##
  set largeCharSet[0][6]=##      ##
  set largeCharSet[0][7]=  ######  
  
  set largeCharSet[1][1]=      ##  
  set largeCharSet[1][2]=  ######  
  set largeCharSet[1][3]=      ##  
  set largeCharSet[1][4]=      ##  
  set largeCharSet[1][5]=      ##  
  set largeCharSet[1][6]=      ##  
  set largeCharSet[1][7]=      ##  
  
  set largeCharSet[2][1]=  ######  
  set largeCharSet[2][2]=##      ##
  set largeCharSet[2][3]=        ##
  set largeCharSet[2][4]=    ####  
  set largeCharSet[2][5]=  ##      
  set largeCharSet[2][6]=##        
  set largeCharSet[2][7]=##########
  
  set largeCharSet[3][1]=  ######  
  set largeCharSet[3][2]=##      ##
  set largeCharSet[3][3]=        ##
  set largeCharSet[3][4]=    ####  
  set largeCharSet[3][5]=        ##
  set largeCharSet[3][6]=##      ##
  set largeCharSet[3][7]=  ######  
  
  set largeCharSet[4][1]=      ##  
  set largeCharSet[4][2]=    ####  
  set largeCharSet[4][3]=  ##  ##  
  set largeCharSet[4][4]=##    ##  
  set largeCharSet[4][5]=##########
  set largeCharSet[4][6]=      ##  
  set largeCharSet[4][7]=      ##  
  
  set largeCharSet[5][1]=##########
  set largeCharSet[5][2]=##        
  set largeCharSet[5][3]=########  
  set largeCharSet[5][4]=        ##
  set largeCharSet[5][5]=        ##
  set largeCharSet[5][6]=##      ##
  set largeCharSet[5][7]=  ######  
  
  set largeCharSet[6][1]=    ####  
  set largeCharSet[6][2]=  ##      
  set largeCharSet[6][3]=##        
  set largeCharSet[6][4]=########  
  set largeCharSet[6][5]=##      ##
  set largeCharSet[6][6]=##      ##
  set largeCharSet[6][7]=  ######  
  
  set largeCharSet[7][1]=##########
  set largeCharSet[7][2]=        ##
  set largeCharSet[7][3]=      ##  
  set largeCharSet[7][4]=      ##  
  set largeCharSet[7][5]=    ##    
  set largeCharSet[7][6]=    ##    
  set largeCharSet[7][7]=    ##    
  
  set largeCharSet[8][1]=  ######  
  set largeCharSet[8][2]=##      ##
  set largeCharSet[8][3]=##      ##
  set largeCharSet[8][4]=  ######  
  set largeCharSet[8][5]=##      ##
  set largeCharSet[8][6]=##      ##
  set largeCharSet[8][7]=  ######  
  
  set largeCharSet[9][1]=  ######  
  set largeCharSet[9][2]=##      ##
  set largeCharSet[9][3]=##      ##
  set largeCharSet[9][4]=  ########
  set largeCharSet[9][5]=        ##
  set largeCharSet[9][6]=      ##  
  set largeCharSet[9][7]=  ####    
  
  set heart[0][1]=          
  set heart[0][2]=          
  set heart[0][3]=          
  set heart[0][4]=##  ##    
  set heart[0][5]=######    
  set heart[0][6]=  ##      
  set heart[0][7]=          

  set heart[1][1]=          
  set heart[1][2]=  ##  ##  
  set heart[1][3]=##########
  set heart[1][4]=##########
  set heart[1][5]=  ######  
  set heart[1][6]=    ##    
  set heart[1][7]=          

  set heart[2][1]=          
  set heart[2][2]=          
  set heart[2][3]=          
  set heart[2][4]=    ##  ##
  set heart[2][5]=    ######
  set heart[2][6]=      ##  
  set heart[2][7]=          
  
  set heart[3][1]=          
  set heart[3][2]=  ##  ##  
  set heart[3][3]=##########
  set heart[3][4]=##########
  set heart[3][5]=  ######  
  set heart[3][6]=    ##    
  set heart[3][7]=          
  
  set colon[0][1]=    
  set colon[0][2]=    
  set colon[0][3]=    
  set colon[0][4]=    
  set colon[0][5]=    
  set colon[0][6]=    
  set colon[0][7]=    
  
  set colon[1][1]=    
  set colon[1][2]=    
  set colon[1][3]=    
  set colon[1][4]=    
  set colon[1][5]=    
  set colon[1][6]=    
  set colon[1][7]=    
  
  set colon[2][1]=    
  set colon[2][2]=####
  set colon[2][3]=    
  set colon[2][4]=    
  set colon[2][5]=    
  set colon[2][6]=####
  set colon[2][7]=    
  
  set colon[3][1]=    
  set colon[3][2]=####
  set colon[3][3]=    
  set colon[3][4]=    
  set colon[3][5]=    
  set colon[3][6]=####
  set colon[3][7]=    
  
  set smallCharSet[0][1]=######
  set smallCharSet[0][2]=##  ##
  set smallCharSet[0][3]=##  ##
  set smallCharSet[0][4]=##  ##
  set smallCharSet[0][5]=######
  
  set smallCharSet[1][1]=####  
  set smallCharSet[1][2]=  ##  
  set smallCharSet[1][3]=  ##  
  set smallCharSet[1][4]=  ##  
  set smallCharSet[1][5]=  ##  
  
  set smallCharSet[2][1]=######
  set smallCharSet[2][2]=    ##
  set smallCharSet[2][3]=######
  set smallCharSet[2][4]=##    
  set smallCharSet[2][5]=######
  
  set smallCharSet[3][1]=######
  set smallCharSet[3][2]=    ##
  set smallCharSet[3][3]=######
  set smallCharSet[3][4]=    ##
  set smallCharSet[3][5]=######
  
  set smallCharSet[4][1]=    ##
  set smallCharSet[4][2]=  ####
  set smallCharSet[4][3]=##  ##
  set smallCharSet[4][4]=######
  set smallCharSet[4][5]=    ##
  
  set smallCharSet[5][1]=######
  set smallCharSet[5][2]=##    
  set smallCharSet[5][3]=######
  set smallCharSet[5][4]=    ##
  set smallCharSet[5][5]=######
  
  set smallCharSet[6][1]=######
  set smallCharSet[6][2]=##    
  set smallCharSet[6][3]=######
  set smallCharSet[6][4]=##  ##
  set smallCharSet[6][5]=######
  
  set smallCharSet[7][1]=######
  set smallCharSet[7][2]=    ##
  set smallCharSet[7][3]=  ##  
  set smallCharSet[7][4]=  ##  
  set smallCharSet[7][5]=  ##  
  
  set smallCharSet[8][1]=######
  set smallCharSet[8][2]=##  ##
  set smallCharSet[8][3]=######
  set smallCharSet[8][4]=##  ##
  set smallCharSet[8][5]=######
  
  set smallCharSet[9][1]=######
  set smallCharSet[9][2]=##  ##
  set smallCharSet[9][3]=######
  set smallCharSet[9][4]=    ##
  set smallCharSet[9][5]=######
  
  set smallCharSetForMonth[0][1]=    
  set smallCharSetForMonth[0][2]=    
  set smallCharSetForMonth[0][3]=    
  set smallCharSetForMonth[0][4]=    
  set smallCharSetForMonth[0][5]=    
  
  set smallCharSetForMonth[1][1]=####
  set smallCharSetForMonth[1][2]=  ##
  set smallCharSetForMonth[1][3]=  ##
  set smallCharSetForMonth[1][4]=  ##
  set smallCharSetForMonth[1][5]=  ##
  
  set slash[1]=    ##
  set slash[2]=    ##
  set slash[3]=  ##  
  set slash[4]=  ##  
  set slash[5]=##    
  
  set dayCharSet[0][1]=      ####
  set dayCharSet[0][2]=    ##
  set dayCharSet[0][3]=    ######  ##  ##  ######
  set dayCharSet[0][4]=        ##  ##  ##  ##  ##
  set dayCharSet[0][5]=    ####    ######  ##  ##
  
  set dayCharSet[1][1]=##      ##
  set dayCharSet[1][2]=####  ####
  set dayCharSet[1][3]=##  ##  ##  ######  ######
  set dayCharSet[1][4]=##  ##  ##  ##  ##  ##  ##
  set dayCharSet[1][5]=##  ##  ##  ######  ##  ##
  
  set dayCharSet[2][1]=    ######            ##
  set dayCharSet[2][2]=      ##            ##  ##
  set dayCharSet[2][3]=      ##    ##  ##  ######
  set dayCharSet[2][4]=      ##    ##  ##  ##    
  set dayCharSet[2][5]=      ##    ######    ####
  
  set dayCharSet[3][1]=##  ##  ##    ##        ##
  set dayCharSet[3][2]=##  ##  ##  ##  ##      ##
  set dayCharSet[3][3]=##  ##  ##  ######  ######
  set dayCharSet[3][4]=##  ##  ##  ##      ##  ##
  set dayCharSet[3][5]=  ##  ##      ####  ######
  
  set dayCharSet[4][1]=    ######  ##
  set dayCharSet[4][2]=      ##    ##
  set dayCharSet[4][3]=      ##    ######  ##  ##
  set dayCharSet[4][4]=      ##    ##  ##  ##  ##  
  set dayCharSet[4][5]=      ##    ##  ##  ######
  
  set dayCharSet[5][1]=    ######            ##
  set dayCharSet[5][2]=    ##      ##  ##
  set dayCharSet[5][3]=    ######  ####      ##
  set dayCharSet[5][4]=    ##      ##        ##
  set dayCharSet[5][5]=    ##      ##        ##
  
  set dayCharSet[6][1]=      ####    ##
  set dayCharSet[6][2]=    ##          ##    ##
  set dayCharSet[6][3]=    ######    ####  ######
  set dayCharSet[6][4]=        ##  ##  ##    ##
  set dayCharSet[6][5]=    ####    ########  ####
  
  exit /b