:: GREETING.BAT - A demonstration of painting the screen in DOS. :: Updated Mar 2000 :: Tom Lavedas :: http:://www.pressroom.com/~tglbatch/ @%dbgg% echo off if '%1==' %0 GoodDay - // default message // for %%v in (0 GoodDay 2 Feb February 3 Mar 7 July 12 Dec December) do set _%%v= set _%1=%1 :: // Check for predefined messages // :: -Colors- :: Chr %2 %3 %4 ---- Message -------------- if '%1=='%_0%%_goodday% %0 01 1E 11 11 Have a Good Day if '%1=='%_2%%_feb%%_february% %0 03 14 15 1C Happy Valentine's Day if '%1=='%_3%%_mar%%_march% %0 05 72 77 7A Happy Saint Patrick's Day if '%1=='%_7%%_July% %0 0F F4 F1 1F Born on the Fourth of July if '%1=='%_12%%_dec%%_december% %0 0F 4F 24 22 * * * Merry Christmas * * * for %%v in (0 GoodDay 2 Feb February 3 Mar 7 July 12 Dec December) do set _%%v= mode con lines=50 cls :: // Paint the screen // :: CALL FULL %1 %2 %1 %3 %1 %4 :: CALL FILL 960 C80 B1 %4 :: set {m}=%5 :Loop - // Collect the entire message to be displayed // if not '%6==' for %%v in (set shift goto:Loop) do %%v {m}=%{m}% %6 :: // Display the message // for %%v in (1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4) do echo. echo %{m}% for %%v in (1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ) do echo. :End - // Clean-up and exit // for %%v in (set pause) do %%v {m}=