Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web


@ECHO OFF
IF !%1==!. %2
%COMSPEC% /E:4096 /C %0 . GOTO:START %1 %2 %3 %4
GOTO OUT
:SEND
ECHO E0 %3 %4 %5 %6 %7 %8 %9 1A>%TMP3%
FOR %%_ IN (N%TMP2% RCX FF W0 Q) DO ECHO %%_>>%TMP3%
DEBUG <%TMP3% >NUL
TYPE %TMP2%
EXIT
:START
FOR %%_ IN (0 1 2 3 4 5) DO SET TMP%%_=%TEMP%.\@CK%%_.BAT
ECHO &>%TMP4%
ECHO.>%TMP5%
SET COM=%COMSPEC%/E:4096
SET F=%0
SET MM=!
%COM%/C %0 . GOTO:SEND "SET" 20 "ESC" 3D 1B 0D 0A>%TMP1%
%COM%/C %0 . GOTO:SEND "SET" 20 "CHAR_FE" 3D FE 0D 0A>>%TMP1%
%COM%/C %0 . GOTO:SEND "SET" 20 "CHAR_DB" 3D DB 0D 0A>>%TMP1%
CALL %TMP1%
MEM/C |FIND "ANSI ">NUL
SET ANSI=TRUE
IF ERRORLEVEL 1 SET ANSI=FALSE
:: use ANSI graphics - set to FALSE here to stop
:: SET ANSI=FALSE
:: vertical enlarge option - change to set default
SET VE=FALSE
:L4
SHIFT
IF !%2==! GOTO K5
IF !%2==!BIG SET VE=TRUE
IF !%2==!SMALL SET VE=FALSE
IF !%2==!NORMAL SET ANSI=FALSE
IF NOT !%2==!/? GOTO L4
ECHO %F% [/?] [NORMAL] [BIG] [SMALL] 
ECHO batch clock utility
ECHO NORMAL  specifies not to use ANSI.SYS colour graphics
ECHO.        which is default if the program detects it is installed
ECHO BIG     uses double height character font
ECHO SMALL   uses normal height character font (default)
ECHO.
GOTO QUIT
:K5
SHIFT
IF NOT !%3==! GOTO L4
FOR %%_ IN (C0 C1) DO SET %%_=
IF %ANSI%==TRUE SET C0=%ESC%[1;34m
IF %ANSI%==TRUE SET C1=%ESC%[0m
SET BAR0=%CHAR_DB%%CHAR_DB%%CHAR_DB%%CHAR_DB%
SET _=%BAR0%%BAR0%%BAR0%
SET BAR0=%BAR0%%BAR0%%BAR0%%BAR0%
SET BAR0=%C0%  %BAR0%%BAR0%%BAR0%%BAR0%%_%%C1%
IF NOT EXIST %TMP0% GOTO K3
FIND "%% !@FBBC2%ANSI% %%" <%TMP0% >NUL
IF NOT ERRORLEVEL 1 GOTO K4
:K3
ECHO PLEASE WAIT...
%COM%/C %F% . GOTO:DGVE >%TMP0%
:K4
CLS
:L1
ECHO EXIT|%COM%/KPROMPT PROMPT $T$_:>%TMP1%
SET @=%PROMPT%
CALL %TMP1%
SET _=%PROMPT%
SET PROMPT=%@%
CHOICE /C&%_%@ SET _=>%TMP1%<%TMP4%
CALL %TMP1%
CALL %F% . GOTO:WRT %_%
CHOICE /C%ESC%N /TN,01>NUL
IF ERRORLEVEL 2 GOTO L1
:QUIT
FOR %%_ IN (1 2 3 4 5) DO IF EXIST %TEMP%.\@CK%%_.BAT DEL %TEMP%.\@CK%%_.BAT
GOTO OUT
::
:WRT
SET _0=%4
SET _1=%5
SET _2=%6
SET _3=%7
SET _4=%8
SET _5=%9
FOR %%_ IN (. . . . .) DO SHIFT
IF %9==@]?& %F% . GOTO:WRT1 0 %_0% %_2% %_3% %_5% %5
%F% . GOTO:WRT1 %_0% %_1% %_3% %_4% %5 %6
GOTO OUT
:WRT1
IF !%MM%==!%3%4%5%6 GOTO WRT2
SET MM=%3%4%5%6
:: get hour,minute ->M!
FOR %%_ IN (! !! !!! !!!! !!!!! !!!!!! !!!!!!! !!!!!!!!) DO SET L%%_=
CALL %TMP0% GOTO:C%3
CALL %TMP0% GOTO:C%4
CALL %TMP0% GOTO:C_3A
CALL %TMP0% GOTO:C%5
CALL %TMP0% GOTO:C%6
CALL %TMP0% GOTO:C_2E
SET M!=%L!%
SET M!!=%L!!%
SET M!!!=%L!!!%
SET M!!!!=%L!!!!%
SET M!!!!!=%L!!!!!%
SET M!!!!!!=%L!!!!!!%
SET M!!!!!!!=%L!!!!!!!%
ECHO EXIT|%COM% /K PROMPT SET DD=$D$_:>%TMP1%
CALL %TMP1%
:WRT2
:: get seconds -> L!
FOR %%_ IN (! !! !!! !!!! !!!!! !!!!!! !!!!!!! !!!!!!!!) DO SET L%%_=
CALL %TMP0% GOTO:C%7
CALL %TMP0% GOTO:C%8
IF %ANSI%==FALSE CLS
IF %ANSI%==TRUE ECHO %ESC%[H
FOR %%_ IN (. .) DO ECHO %BAR0%
IF %VE%==FALSE FOR %%_ IN (. . .) DO ECHO %BAR0%
ECHO.
ECHO.   %DD%
ECHO.
ECHO.     %C0%%M!%%L!%%C1%
IF %VE%==TRUE ECHO.     %C0%%M!%%L!%%C1%   
ECHO.     %C0%%M!!%%L!!%%C1%   
IF %VE%==TRUE ECHO.     %C0%%M!!%%L!!%%C1%   
ECHO.     %C0%%M!!!%%L!!!%%C1%   
IF %VE%==TRUE ECHO.     %C0%%M!!!%%L!!!%%C1%   
ECHO.     %C0%%M!!!!%%L!!!!%%C1%   
IF %VE%==TRUE ECHO.     %C0%%M!!!!%%L!!!!%%C1%  
ECHO.     %C0%%M!!!!!%%L!!!!!%%C1%   
IF %VE%==TRUE ECHO.     %C0%%M!!!!!%%L!!!!!%%C1%  
ECHO.     %C0%%M!!!!!!%%L!!!!!!%%C1%   
IF %VE%==TRUE ECHO.     %C0%%M!!!!!!%%L!!!!!!%%C1%  
ECHO.     %C0%%M!!!!!!!%%L!!!!!!!%%C1%   
IF %VE%==TRUE ECHO.     %C0%%M!!!!!!!%%L!!!!!!!%%C1%  
ECHO.
ECHO                                                       [ESC] To exit
ECHO.
ECHO %BAR0%
IF %VE%==FALSE FOR %%_ IN (. . . .) DO ECHO %BAR0%
IF %ANSI%==TRUE ECHO %ESC%[30m%ESC%[K%ESC%[0m%ESC%[A
GOTO OUT
:DGVE
ECHO %%1 %% !@FBBC2%ANSI% %%
CALL %F% . GOTO:DGV C_2E . 0 0 0 0 0 0 0 0 0 0 1 8 1 8 0 0 
CALL %F% . GOTO:DGV C0 0 3 C 6 6 6 E 7 E 7 6 6 6 3 C 0 0 
CALL %F% . GOTO:DGV C1 1 1 8 3 8 1 8 1 8 1 8 1 8 7 E 0 0 
CALL %F% . GOTO:DGV C2 2 3 C 6 6 0 6 0 C 1 8 3 0 7 E 0 0 
CALL %F% . GOTO:DGV C3 3 3 C 6 6 0 6 1 C 0 6 6 6 3 C 0 0 
CALL %F% . GOTO:DGV C4 4 0 C 1 C 3 C 6 C 7 E 0 C 0 C 0 0 
CALL %F% . GOTO:DGV C5 5 7 E 6 0 7 C 0 6 0 6 6 6 3 C 0 0 
CALL %F% . GOTO:DGV C6 6 1 C 3 0 6 0 7 C 6 6 6 6 3 C 0 0 
CALL %F% . GOTO:DGV C7 7 7 E 0 6 0 C 1 8 3 0 3 0 3 0 0 0 
CALL %F% . GOTO:DGV C8 8 3 C 6 6 6 6 3 C 6 6 6 6 3 C 0 0 
CALL %F% . GOTO:DGV C9 9 3 C 6 6 6 6 3 E 0 6 0 C 3 8 0 0 
CALL %F% . GOTO:DGV C_3A : 0 0 0 0 1 8 1 8 0 0 1 8 1 8 0 0 
ECHO :OUT
GOTO OUT
:DGV
SET S= %=%
SET M=%4
IF %ANSI%==TRUE SET M=%CHAR_FE%
SET C=!
ECHO :%3
:DGL
SET _=
FOR %%_ IN (CALL SHIFT) DO %%_ %F% . GOTO:DGE %5
FOR %%_ IN (CALL SHIFT) DO %%_ %F% . GOTO:DGE %5
ECHO SET L%C%=%%L%C%%%%_%
SET C=%C%!
IF NOT %C%==!!!!!!!!! GOTO DGL
:: ECHO GOTO OUT
ECHO %%TMP5%%
GOTO OUT
:DGE
IF %3==0 SET _=%_%%S%%S%%S%%S%
IF %3==1 SET _=%_%%S%%S%%S%%M%
IF %3==2 SET _=%_%%S%%S%%M%%S%
IF %3==3 SET _=%_%%S%%S%%M%%M%
IF %3==4 SET _=%_%%S%%M%%S%%S%
IF %3==5 SET _=%_%%S%%M%%S%%M%
IF %3==6 SET _=%_%%S%%M%%M%%S%
IF %3==7 SET _=%_%%S%%M%%M%%M%
IF %3==8 SET _=%_%%M%%S%%S%%S%
IF %3==9 SET _=%_%%M%%S%%S%%M%
IF %3==A SET _=%_%%M%%S%%M%%S%
IF %3==B SET _=%_%%M%%S%%M%%M%
IF %3==C SET _=%_%%M%%M%%S%%S%
IF %3==D SET _=%_%%M%%M%%S%%M%
IF %3==E SET _=%_%%M%%M%%M%%S%
IF %3==F SET _=%_%%M%%M%%M%%M%
GOTO OUT
:OUT