中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 00:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [转贴]随机生成密码 查看 1,263 回复 4
楼 主 [转贴]随机生成密码 发表于 2010-09-08 11:59 ·  中国 江苏 苏州 张家港市 电信
初级用户
积分 47
发帖 23
注册 2006-09-27 20:54
19年会员
UID 63820
状态 离线
最近学习批处理,看到个不错的随机生成密码的东东
转过来分享下~
用到的命令比较多,感觉对我这个水平的人来说,全是精华,而且要逐行理解


@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
2 发表于 2010-09-08 12:26 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
建议用CODE标签
3 发表于 2010-09-08 15:37 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
感觉对我这个水平的人来说,全是精华,而且要逐行理解

嗯,有时间就多看看教程吧。
4 发表于 2010-09-10 13:01 ·  中国 辽宁 葫芦岛 联通
中级用户
★★
积分 247
发帖 147
注册 2009-04-09 20:52
17年会员
UID 142531
性别 男
状态 离线
呵呵,有意思
在 a-z 0-9 _ 中随机摘取 %1 次 字符 ,组合后作为密码。

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

用for 代替goto 循环不行么?

[ Last edited by DXSX on 2010-9-10 at 13:44 ]
5 发表于 2010-09-18 11:47 ·  中国 上海 移动
新手上路
积分 8
发帖 8
注册 2010-09-15 21:20
15年会员
UID 174259
性别 男
来自 上海
状态 离线
咳咳...斑竹...请问%1~9参数的设置的教程在那里?...
论坛跳转: