Windows · 2022年6月23日 0

批处理随机密码生成器

@echo off
title 随机密码生成器 By whoim_i
setlocal enabledelayedexpansion
:cho
echo 请选择密码本:&echo. 1:系统默认密码本(英文大小写加数字) &echo. 2:用户自定义的密码本
set/p "n=>"
if %n%==1 goto default
if %n%==2 goto len
if %n% gtr 2 goto error
:default
echo 请设置随机密码的位数:
set/p "num=>"
echo ========%num% 位数随机密码生成中========
set str=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
for /l %%i in (1,1,%num%) do (
set /a num=!random!%%62
call set zf=%%str:~!num!,1%%
set pw=!pw!!zf!
)
echo,&echo 生成的随机密码为: !pw!
pause
goto end
:len
set "input="
set /p input=-^> 请输入密码本:
set a=0
:her
set u=!input:~%a%,1!
if not "!u!"=="" (set/a a+=1
goto her
) else (echo 字符串长度:%a%)
:custom
echo 请设置随机密码的位数:
set/p "num=>"
echo ========%num% 位数随机密码生成中========
set str=!input!
for /l %%i in (1,1,%num%) do (
set /a num=!random!%%!a!
call set zf=%%str:~!num!,1%%
set pw=!pw!!zf!
)
echo,&echo 生成的随机密码为: !pw!
pause
goto end
:error
echo 选择错误,请重新选择!
goto cho
:end