home *** CD-ROM | disk | FTP | other *** search
- echo off
- echo
- echo
- echo H┌───────────────────────────────────────────────────┐
- echo │ Set screen color attributes │
- echo │ By Prof. Timo Salmi, ts@chyde.uwasa.fi, 21-Oct-90 │
- echo └───────────────────────────────────────────────────┘
- echo.
-
- rem If you get an "Out of environment space" message, increase your
- rem environment space by using shell configuration in config.sys:
- rem MsDos 3.30 example: shell=c:\bin\command.com /e:1024 /p
-
- rem If no parameters, show the color table
- if "%1"=="" goto _help
-
- rem Make the TextColor parameter uppercase
- set tmp_=%path%
- path=%1
- set upcase1_=%path%
- path=%tmp_%
-
- rem Make the BackgroundColor parameter uppercase
- set upcase2_=
- if "%2"=="" goto _assign
- set tmp_=%path%
- path=%2
- set upcase2_=%path%
- path=%tmp_%
-
- :_assign
- rem Set the appropriate ansi codes into variables
- set text_=InvalidTextColor
- for %%n in (0 BLACK) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (1 BLUE) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (2 GREEN) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (3 CYAN) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (4 RED) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (5 MAGENTA) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (6 BROWN) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (7 LIGHTGRAY) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (9 LIGHTGBLUE) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (10 LIGHTGREEN) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (11 LIGHTCYAN) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (12 LIGHTRED) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (13 LIGHTMAGENTA) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (14 YELLOW) do if "%%n"=="%upcase1_%" set text_=
- for %%n in (15 WHITE) do if "%%n"=="%upcase1_%" set text_=
-
- if not "%2"=="" set back_=InvalidBckColor
- for %%n in (0 BLACK) do if "%%n"=="%upcase2_%" set back_=
- for %%n in (1 BLUE) do if "%%n"=="%upcase2_%" set back_=
- for %%n in (2 GREEN) do if "%%n"=="%upcase2_%" set back_=
- for %%n in (3 CYAN) do if "%%n"=="%upcase2_%" set back_=
- for %%n in (4 RED) do if "%%n"=="%upcase2_%" set back_=
- for %%n in (5 MAGENTA) do if "%%n"=="%upcase2_%" set back_=
- for %%n in (6 BROWN) do if "%%n"=="%upcase2_%" set back_=
- for %%n in (7 LIGHTGRAY) do if "%%n"=="%upcase2_%" set back_=
-
- rem Were the color parameters valid
- if "%text_%"=="InvalidTextColor" goto _err1
- if "%back_%"=="InvalidBckColor" goto _err2
-
- rem Set the new color attributes and clear the screen
- echo %text_%
- if not "%back_%"=="" echo %back_%
- echo
- goto _out
-
- :_err1
- echo Invalid TextColor %1
- goto _out
-
- :_err2
- echo Invalid BackgroundColor %2
- goto _out
-
- :_help
- echo Usage: COLOR TextColor[orNumber] [BackgroundColor[orNumber]]
- echo.
- echo 0 Black
- echo 1 Blue
- echo 2 Green
- echo 3 Cyan
- echo 4 Red
- echo 5 Magenta
- echo 6 Brown
- echo 7 LightGray
- echo 9 LightBlue
- echo 10 LightGreen
- echo 11 LightCyan
- echo 12 LightRed
- echo 13 LightMagenta
- echo 14 Yellow
- echo 15 White
- goto _out
-
- :_out
- set upcase1_=
- set upcase2_=
- set text_=
- set back_=
- echo on
-