标题: [文本处理] 批处理如何产生指定随机数? [打印本页]
作者: pichuli1 时间: 2011-6-19 12:16 标题: 批处理如何产生指定随机数?
@echo off
setlocal enabledelayedexpansion
set "svar=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-*/~`_=|:;',.<>?"
set "rvar="
set num=12
:loop
set /a num-=1
set /a rand=%random%%%79
set "rvar=%rvar%!svar:~%rand%,1!"
if not %num%==0 goto loop
echo !rvar!
pause>nul
这段代码如何修改为 取数为abcdefABCDEF012345679产生8位随机数
作者: 601997526 时间: 2011-6-19 13:06
楼主以后记得代码用code括起来- @echo off
- setlocal enabledelayedexpansion
- set "svar=abcdefABCDEF012345679
- set "rvar="
- set num=8
- :loop
- set /a num-=1
- set /a rand=%random%%%21
- set "rvar=%rvar%!svar:~%rand%,1!"
- if not %num%==0 goto loop
- echo !rvar!
- pause>nul
复制代码
作者: CrLf 时间: 2011-6-19 13:31
改成用for的就是这样:- @echo off&setlocal enabledelayedexpansion
- set "svar=abcdefABCDEF012345679
- set /a num=8,rvar=0
- for /l %%a in (1 1 12) do (
- set /a rand=!random!%%21
- for %%b in (!rand!) do set "rvar=!rvar!!svar:~%%b,1!"
- )
- echo 密码为:!rvar:~1!
- pause>nul
复制代码
作者: pichuli1 时间: 2011-6-19 15:49
谢谢各位高手
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |