最近学习批处理,看到个不错的随机生成密码的东东
转过来分享下~
用到的命令比较多,感觉对我这个水平的人来说,全是精华,而且要逐行理解
@echo off
call :randomPassword 8 pass1
echo %pass1%
pause
exit
:randomPassword
::---------生成随机密码
::---------%1为密码长度,%2 及以后为返回变量名称
::---------goto循环、变量嵌套、命令嵌套
@echo off
if "%1"=="" goto :eof
if %1 lss 1 goto :eof
set password_len=%1
set return=
set wordset=abcdefghijklmnopqrstuvwxyz023456789_
::---------------------------循环
:randomPassword1
set /a numof=%random%%%36
call set return=%return%%%wordset:~%numof%,1%%
set /a password_len-=1
if %password_len% gtr 0 goto randomPassword1
::---------------------------循环
if not "%2"=="" set %2=%return%
shift /2
if not "%2"=="" goto randomPassword