Reputation: 49
I am attempting to make a batch file that will randomize the color code when the script is run. How would i do this?
Upvotes: 2
Views: 14173
Reputation: 23
@echo off
set /a rand1=%random% %% 16
set /a rand2=%random% %% 16
set HEX=0123456789ABCDEF
call set hexcolors=%%HEX:~%rand1%,1%%%%HEX:~%rand2%,1%%
color %hexcolors%
adding @echo off in the start section caused the text to dint show a warning message
Upvotes: 0
Reputation: 54
I tried to make it @ashleedawg 's code flash on screen faster..
@echo off
:start
rem mode con:cols=50 lines=12
title Anoying lightning Strobe
Set /a num=(%Random% %%9)+1
Set /a num2=(%Random% %%9)+1
color %num%%num2%
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
Set /a num=(%Random% %%9)+1
Set /a num2=(%Random% %%9)+1
color %num%%num2%
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
Set /a num=(%Random% %%9)+1
Set /a num2=(%Random% %%9)+1
color %num%%num2%
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
Set /a num=(%Random% %%9)+1
Set /a num2=(%Random% %%9)+1
color %num%%num2%
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
Set /a num=(%Random% %%9)+1
Set /a num2=(%Random% %%9)+1
color %num%%num2%
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
echo (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%) (%random%)(%random%) (%random%) (%random%) (%random%)(%random%) (%random%)
goto start
And you can also do something similar with text but that will probably the only thing you do in that batch file due to nature of batch files.
@echo off
cls
echo.
echo.
echo.
echo .########..########....#####...##.....##.##....##
echo .##.....##.##.....##..##...##...##...##...##..##.
echo .##.....##.##.....##.##.....##...##.##.....####..
echo .########..########..##.....##....###.......##...
echo .##........##...##...##.....##...##.##......##...
echo .##........##....##...##...##...##...##.....##...
echo .##........##.....##...#####...##.....##....##...
:colors
Set /a num=(%Random% %%9)+1
rem Set /a num2=(%Random% %%9)+1
rem color %num%%num2%
color %num%
PING 127.0.0.1 -n 1 > NUL
goto colors
You can replace proxy with your own ascii art text. commented rem lines are there to change background color and text color.
Upvotes: 0
Reputation: 21639
Just for the heck of it, here's a .BAT
using the answer above and a couple others to create a psychedelic coloured light show (aka loop random colors with delay).
I'd call it useless, but actually it does demonstrate creative use of a few cmd line commands (written by others, slapped together by me) such as pausing under 1 second using ping
.
@echo off
cls
rem prepare loop
Set Sleep=0
:start
rem loop 40 times
if %Sleep% == 40 ( goto end )
rem pick random numbers 1-16
set /a rand1=%random% %% 16
set /a rand2=%random% %% 16
rem user
set HEX=0123456789ABCDEF
call set hexcolors=%%HEX:~%rand1%,1%%%%HEX:~%rand2%,1%%
rem set back/fore colors
color %hexcolors%
echo loop#%Sleep% color=%hexcolors%
rem the pings act as a split-second delay
PING localhost -n 1 >NUL
PING localhost -n 1 >NUL
rem increment counter and loop
Set /A Sleep+=1
goto start
:end
rem close after 3 seconds
timeout /t 3
Upvotes: 1
Reputation: 4951
To change the color, you need the color
command. The arguments are:
color <background><text>
So generating a random color works like this:
set /a rand1=%random% %% 16
set /a rand2=%random% %% 16
set HEX=0123456789ABCDEF
call set hexcolors=%%HEX:~%rand1%,1%%%%HEX:~%rand2%,1%%
color %hexcolors%
Upvotes: 6