乱数を生成するサンプルコードです。
バッチで乱数を生成するサンプルコードです
0から99までの整数を生成するサンプルです。
%random% を使用していますが、精度は悪いようです。どうやら時刻をシードに生成しており、近い時間だと近い乱数が生成されるようです。
%%は 割り算の余りを計算します。100で割ると余りは 0 〜99 の範囲となるので乱数が生成されるということです。これらの間に正確に分布されるわけではない点に注意してください。
例えば 0 から n までの乱数を生成したい場合は
set /a randomnumber=%random%%%(n+1)
となります。
サンプル:
@echo off
set /a randomnumber=%random%%%100
echo %randomnumber%
実行例:
16
1から100までの整数を生成するサンプルです。
サンプル:
@echo off
set /a randomnumber=%random%%%100+1
echo %randomnumber%
実行例:
56
0か1を生成します。
サンプル:
@echo off
set /a randomnumber=%random%%%2
echo %randomnumber%
実行例:
1
0〜32767までの乱数を生成する。逆に言うと細工しないとこの範囲となります。
サンプル:
@echo off
echo %random%
echo %random%
echo %random%
echo %random%
echo %random%
実行例:
21663
6572
9005
2013
29855
生成した乱数が 5 より大きいかチェックします。 gtr を使用しています。
サンプル:
@echo off
set /a randomnumber=%random%%%10
echo 乱数は%randomnumber%です
if %randomnumber% gtr 5 (echo "5より大きい")
実行例:
乱数は8です
"5より大きい"
c:\temp に 0〜9までのランダムな名前のフォルダを作成します。
サンプル:
@echo off
set /a randomnumber=%random%%%10
mkdir c:\temp\%randomnumber%