Note that there are some explanatory texts on larger screens.

plurals
  1. POBatch COLOR script that accepts Color-names, Decimals and Hex Parameters
    primarykey
    data
    text
    <p>I just finished my a Batch COLOR script that accepts Color-names, Decimals and Hex Parameters.</p> <p>This script works exactly like the MS-Color command but it also accepts decimals and color-names.</p> <p>Run this script without perimeters for a full description including syntax and usage.</p> <p>I am wondering if I did a good job or is there something that can be improved?</p> <pre><code>if "%_TPfore%"=="A" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID @echo off setlocal EnableDelayedExpansion if "%1"=="/?" goto HELP if "%1"=="" goto HELP goto BYPASSREMSTATEMENTS rem *********************************************************** rem * Easycolor was created by Edoctoor 2010 * rem * With the help from the good people at stackoverflow.com * rem * For the good people at stackoverflow.com * rem * * rem * Convert Color-name and Decimals Parmeters to Hex values * rem * then pass the VALUES to the COLOR COMMAND * rem *********************************************************** :BYPASSREMSTATEMENTS set "_DEBUGGING=FALSE" If "%_DEBUGGING%"=="TRUE" prompt=$g &amp;&amp; echo on &amp;&amp; cls REM IF TWO PARMETERS GIVEN IF NOT "%2"=="" call :TWOPAR %1 %2 REM IF ONE PARMETER GIVEN set _OPback=%1 call :TWOPAR %_OPback:~0,1% %_OPback:~1,1% goto :eof rem *********************************************************** rem * Convert Color-name and Decimals Parmeters to Hex values * rem * then pass the VALUES to the COLOR COMMAND * rem *********************************************************** :TWOPAR set "_TPback=%1" set "_TPfore=%2" set "_ValidB=FALSE" set "_ValidF=FALSE" FOR /L %%B IN (1,1,9) DO ( if "%_TPback%"=="%%B" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE ) if /I "%_TPback%"=="Black" set /A _TPback=0 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="Blue" set /A _TPback=1 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="Green" set /A _TPback=2 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="Aqua" set /A _TPback=3 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="Red" set /A _TPback=4 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="Purple" set /A _TPback=5 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="Yellow" set /A _TPback=6 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="White" set /A _TPback=7 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="Gray" set /A _TPback=8 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="LightBlue" set /A _TPback=9 &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="LightGreen" set _TPback=A &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="LightAqua" set _TPback=B &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="LightRed" set _TPback=C &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="LightPurple" set _TPback=D &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="LightYellow" set _TPback=E &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if /I "%_TPback%"=="BrightWhite" set _TPback=F &amp;&amp; set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="A" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="B" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="C" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="D" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="E" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="F" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="a" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="b" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="c" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="d" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="e" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE if "%_TPback%"=="f" set "_ValidB=TRUE" &amp;&amp; goto TWOPAR_FORE :TWOPAR_FORE FOR /L %%B IN (1,1,9) DO ( if "%_TPfore%"=="%%B" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID ) if /I "%_TPfore%"=="Black" set /A _TPfore=0 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="Blue" set /A _TPfore=1 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="Green" set /A _TPfore=2 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="Aqua" set /A _TPfore=3 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="Red" set /A _TPfore=4 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="Purple" set /A _TPfore=5 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="Yellow" set /A _TPfore=6 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="White" set /A _TPfore=7 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="Gray" set /A _TPfore=8 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="LightBlue" set /A _TPfore=9 &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="LightGreen" set _TPfore=A &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="LightAqua" set _TPfore=B &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="LightRed" set _TPfore=C &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="LightPurple" set _TPfore=D &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="LightYellow" set _TPfore=E &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if /I "%_TPfore%"=="BrightWhite" set _TPfore=F &amp;&amp; set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="A" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="B" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="C" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="D" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="E" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="F" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="a" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="b" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="c" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="d" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="e" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID if "%_TPfore%"=="f" set "_ValidF=TRUE" &amp;&amp; goto TWOPAR_VALID :TWOPAR_VALID If "%_DEBUGGING%"=="TRUE" ( echo TWOPAR Background is %_TPback% %_ValidB% echo TWOPAR Foreground is %_TPfore% %_ValidF% pause ) rem I think I can remove this as the color command rem will provide the errolevel if the values are equal... rem Is that right? rem if Background Parameter matches Foreground ignore rem IF "%_TPback%"=="%_TPfore%" ( rem set _TrueIFMatch=%errorlevel% rem exit %_TrueIFMatch% rem ) if "%_ValidB%"=="TRUE" ( if "%_ValidF%"=="TRUE" ( color %_TPback%%_TPfore% ) ) exit /B rem *********************************************************** rem * Display Help and exit * rem *********************************************************** :HELP @echo off echo. echo Sets the default console background and foreground text colors. echo. echo EASYCOLOR ^[Background Decimal Code^] ^[Text Decimal Code^] echo EASYCOLOR ^[Background Color-Name^] ^[Text Color-Name^] echo. echo EASYCOLOR is compatable with the COLOR command see color /? echo. echo EASYCOLOR ^[Background HEX CODE Text HEX CODE^] echo. echo Color attributes are specified by Decimal, Color-Names, or Hex digits echo The first ^(Decimal, Color-Names, Hex^) value corresponds to the background color; echo the second ^(Decimal, Color-Names, Hex^) value corresponds to the text color. echo Each attribute can be any of the following values: echo. echo Decimal == Color-Names == Hex echo _____________________________ echo 0 == Black ======== 0 echo 1 == Blue ========= 1 echo 2 == Green ======== 2 echo 3 == Aqua ========= 3 echo 4 == Red ========== 4 echo 5 == Purple ======= 5 echo 6 == Yellow ======= 6 echo 7 == White ======== 7 echo 8 == Gray ========= 8 echo 9 == LightBlue ==== 9 echo 10 == LightGreen === A echo 11 == LightAqua ==== B echo 12 == LightRed ===== C echo 13 == LightPurple == D echo 14 == LightYellow == E echo 15 == BrightWhite == F echo. echo Help Examples: echo. echo EASYCOLOR ^&gt; produces this help screen. echo EASYCOLOR /? ^&gt; produces this help screen. echo. echo Decimal and Color-Names Examples: echo. echo EASYCOLOR 7 0 ^&gt; White background with Black text. echo EASYCOLOR Blue White ^&gt; Blue background with White text. echo EASYCOLOR 0 LightGreen ^&gt; Black background with LightGreen text. echo. echo Color command and compatable Hex Examples: echo (Note: Hex is assumed if no space between attributes) echo. echo EASYCOLOR 0F ^&gt; Black background with BrightWhite text. echo EASYCOLOR 1B ^&gt; Blue background with LightAqua text. echo. echo Note echo. echo EASYCOLOR 0brightwhite ^&gt; Black background with LightAqua text. echo Because there wasn't a space between 0 and brightwhite echo the HEX value of 0b is assumed; wrongly. echo. echo EASYCOLOR 0 brightwhite ^&gt; Black background with brightwhite text. echo as expected. echo. echo The EASYCOLOR command sets ERRORLEVEL to 1 if an attempt is made to execute echo the EASYCOLOR command with a foreground and background color that are the echo same. echo. echo. exit /B </code></pre> <p><a href="http://pastebin.com/download.php?i=KNfbicbR" rel="nofollow">Click here to download the complete solution</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload