CMD命令行高级教程精选合编合集
母或10数字以及其它特殊字符组成一个字符串,随机抽取其中的若干字符。 参考答案1:(简单) @echo off call :randomPassword 5 pass1 pass2 echo %pass1% %pass2% pause exit :randomPassword ::---------生成随机密码 ::---------%1为密码长度,%2及以后为返回变量名称 ::---------for命令最多只能区分31个字段 @echo off set password_len=%1 if not defined password_len goto :eof if %password_len% lss 1 goto :eof set wordset=a b c d e f g h i j k l m n o p q r s t u v w x y z set return= set num=0 :randomPassword1 set /a num+=1 set /a numof=%random%%%26+1 for /f \"tokens=%numof% delims= \" %%i in (\"%wordset%\") do set return=%return%%%i if %num% lss %password_len% goto randomPassword1 if not \"%2\"==\"\" set %2=%return% shift /2 if not \"%2\"==\"\" goto randomPassword goto :eof 参考答案2:(最优) @echo off call :randomPassword 6 pass1 pass2 pass3 echo %pass1% %pass2% %pass3% 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 goto :eof 说明:本例涉及到变量嵌套和命令嵌套的应用,见后。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |