バッチファイル(ランダム文字列)

■バッチファイルでランダムの文字列を出すコード
業務管理の関係で新規登録のユーザに対してパスワード発行をすることがあるけど、パスワード設定に悩むときがある。もちろんパスワードを生成するフリーソフトはいろいろあるだろうけど、会社の場合はセキュリティの関係で自由にソフトのダウンロードができないこともある。ランダムの文字列の羅列くらいならバッチファイルでできるだろうと思ったので、少し作ってみた。

コードはすごく単純で、変数とランダムを使用するだけ。
単に、変数にa~z, A~Z, 0~9と特殊文字を少し入れて、それに対してランダムで取り出す番号を指定したもの。ここでは9回ランダムを繰り返す。

@echo off

set array[0]=a
set array[1]=b
set array[2]=c
set array[3]=d
set array[4]=e
set array[5]=f
set array[6]=g
set array[7]=h
set array[8]=i
set array[9]=j
set array[10]=k
set array[11]=l
set array[12]=m
set array[13]=n
set array[14]=o
set array[15]=p
set array[16]=q
set array[17]=r
set array[18]=s
set array[19]=t
set array[20]=u
set array[21]=v
set array[22]=w
set array[23]=x
set array[24]=y
set array[25]=z
set array[26]=A
set array[27]=B
set array[28]=C
set array[29]=D
set array[30]=E
set array[31]=F
set array[32]=G
set array[33]=H
set array[34]=I
set array[35]=J
set array[36]=K
set array[37]=L
set array[38]=M
set array[39]=N
set array[40]=O
set array[41]=P
set array[42]=Q
set array[43]=R
set array[44]=S
set array[45]=T
set array[46]=U
set array[47]=V
set array[48]=W
set array[49]=X
set array[50]=Y
set array[51]=Z
set array[52]=0
set array[53]=1
set array[54]=2
set array[55]=3
set array[56]=4
set array[57]=5
set array[58]=6
set array[59]=7
set array[60]=8
set array[61]=9
set array[62]=+
set array[63]=*
set array[64]=$
set array[65]=#
set array[66]=!
set array[67]=~
set array[68]=?

set /a index1=%random%*68/32767
set /a index2=%random%*68/32767
set /a index3=%random%*68/32767
set /a index4=%random%*68/32767
set /a index5=%random%*68/32767
set /a index6=%random%*68/32767
set /a index7=%random%*68/32767
set /a index8=%random%*68/32767
set /a index9=%random%*68/32767

setlocal enabledelayedexpansion 
echo ======
echo !array[%index1%]!!array[%index2%]!!array[%index3%]!!array[%index4%]!!array[%index5%]!!array[%index6%]!!array[%index7%]!!array[%index8%]!!array[%index9%]!
echo ======

pause

上のコードをメモ帳にコピーして、拡張子bat(文字コードANSI)で保存する。
実行結果が下のもの。ここで出てきた文字列を初期設定のパスワードなどに使用する感じ。

0とO、1とlなど紛らわしいものを避けたい場合は、その行を削除すればよい。
バッチファイルなら、だいたいのwindows環境で使えると思う。