men*_*dez 10 password-generation batch random-number-generator
我很难弄清楚如何制作一个带有随机字母的密码生成器。例如,ASWED-ASDWAD-EFEST。到目前为止,我只能使用代码生成随机数
@echo off
:password
echo %random%-%random%-%random
pause
goto password
Run Code Online (Sandbox Code Playgroud)
PS:我的操作系统是 windows vista。
所有帮助将不胜感激。
Pau*_*aul 14
有一个讨论,在这里,你可以为你的目的相适应。
@Echo Off
Setlocal EnableDelayedExpansion
Set _RNDLength=8
Set _Alphanumeric=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
Set _Str=%_Alphanumeric%987654321
:_LenLoop
IF NOT "%_Str:~18%"=="" SET _Str=%_Str:~9%& SET /A _Len+=9& GOTO :_LenLoop
SET _tmp=%_Str:~9,1%
SET /A _Len=_Len+_tmp
Set _count=0
SET _RndAlphaNum=
:_loop
Set /a _count+=1
SET _RND=%Random%
Set /A _RND=_RND%%%_Len%
SET _RndAlphaNum=!_RndAlphaNum!!_Alphanumeric:~%_RND%,1!
If !_count! lss %_RNDLength% goto _loop
Echo Random string is !_RndAlphaNum!
Run Code Online (Sandbox Code Playgroud)
TheOutcaste解释了上述内容:
我已经修改了它,因此您可以轻松指定长度并添加或删除字符,而无需更改代码的任何其他部分。
例如,您可能不想同时使用 0 和 O(零和大写 O)或 1 和 l(一和小写 L)。
除了这些字符外,您可以使用标点符号:
Run Code Online (Sandbox Code Playgroud)! % ^ & < >您可以使用
^and%,但必须在_Alphanumeric变量中输入两次 ^^ 或%%。但是,如果您想_RndAlphaNum稍后在批处理文件中使用结果 ( )(而不是回显到屏幕),它们可能需要特殊处理。您甚至可以使用空格,只要它不是字符串中的最后一个字符。如果它最终作为生成字符串中的最后一个字符,则不会使用它,因此您将只有 7 个字符。
| 归档时间: |
|
| 查看次数: |
35949 次 |
| 最近记录: |