中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 01:36
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [转贴]随机生成密码
可打印版本  1,266 / 4
第1楼 sea2moon 发表于 2010-09-08 11:59
初级用户 发帖 23 积分 47
[转贴]随机生成密码
最近学习批处理,看到个不错的随机生成密码的东东
转过来分享下~
用到的命令比较多,感觉对我这个水平的人来说,全是精华,而且要逐行理解


@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楼 radem 发表于 2010-09-08 12:26
高级用户 发帖 383 积分 691
建议用CODE标签
第3楼 HAT 发表于 2010-09-08 15:37
版主 发帖 5,017 积分 9,023
感觉对我这个水平的人来说,全是精华,而且要逐行理解

嗯,有时间就多看看教程吧。
第4楼 DXSX 发表于 2010-09-10 13:01
中级用户 发帖 147 积分 247
呵呵,有意思
在 a-z 0-9 _ 中随机摘取 %1 次 字符 ,组合后作为密码。

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

用for 代替goto 循环不行么?

[ Last edited by DXSX on 2010-9-10 at 13:44 ]
第5楼 676939481 发表于 2010-09-18 11:47
新手上路 发帖 8 积分 8 来自 上海
咳咳...斑竹...请问%1~9参数的设置的教程在那里?...
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023