progtips

randomcolor

最終更新:

progtips

- view
メンバー限定 登録/ログイン

ソースコード

@echo off
setlocal
call :random-color fg
call :random-color bg
color %fg%%bg%
goto :EOF

:random-color
	set /a rnd=1+(%RANDOM% %% 15)
	if        %rnd%==10 (set rnd=A
	) else if %rnd%==11 (set rnd=B
	) else if %rnd%==12 (set rnd=C
	) else if %rnd%==13 (set rnd=D
	) else if %rnd%==14 (set rnd=E
	) else if %rnd%==15 (set rnd=F)
	set %1=%rnd%
	goto :EOF

解説

%RANDOM%による乱数を使って、前景色と背景色を設定している。乱数は0~32767なので、15の余り(0~14)を使う。結果、rndは1~15となり、さらに16進数に直す。

サブルーチンの中の%1は、callしたときの値になるため、「set %1=%rnd%」は「set fg=F」などになる。

サブルーチンに設定させた%fg%と%bg%を使って、colorを実行している。
記事メニュー
ウィキ募集バナー