Board logo

标题: [转贴]随机生成密码 [打印本页]

作者: sea2moon     时间: 2010-9-8 11:59    标题: [转贴]随机生成密码

最近学习批处理,看到个不错的随机生成密码的东东
转过来分享下~  
用到的命令比较多,感觉对我这个水平的人来说,全是精华,而且要逐行理解


@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
作者: radem     时间: 2010-9-8 12:26
建议用CODE标签
作者: HAT     时间: 2010-9-8 15:37


  Quote:
感觉对我这个水平的人来说,全是精华,而且要逐行理解

嗯,有时间就多看看教程吧。
作者: DXSX     时间: 2010-9-10 13:01
呵呵,有意思
在 a-z 0-9 _ 中随机摘取 %1 次 字符 ,组合后作为密码。

要是加上A-Z 岂不是更完美?

用for 代替goto 循环不行么?

[ Last edited by DXSX on 2010-9-10 at 13:44 ]
作者: 676939481     时间: 2010-9-18 11:47
咳咳...斑竹...请问%1~9参数的设置的教程在那里?...