标题: [数值计算] 批处理如何在固定范围内随机数值? [打印本页]
作者: 帝尊 时间: 2022-10-11 10:36 标题: 批处理如何在固定范围内随机数值?
如何在1234567890ABCDF中随机9个数值?
作者: hfxiang 时间: 2022-10-11 10:52
- @echo off
- setlocal enabledelayedexpansion
- set "str1=1234567890ABCDF"
- for /l %%i in (1,1,9) do (
- set /a r=!random!%%15
- call set "str2=!str2!%%str1:~!r!,1%%"
- )
- echo;str=%str2%
- endlocal
复制代码
作者: qixiaobin0715 时间: 2022-10-11 10:55
这样数值会重复取吧
作者: hfxiang 时间: 2022-10-11 10:56
回复 3# qixiaobin0715
楼主的要求没有说去重
作者: qixiaobin0715 时间: 2022-10-11 12:21
要求不重复取值可以这样:- @echo off
- set n=15
- set var=1234567890ABCDEFG
- setlocal enabledelayedexpansion
- for /l %%i in (1,1,9) do (
- set /a m=!random!%%n
- for %%j in (!m!) do (
- set str1=!var:~%%j,1!
- set str2=!str2!!str1!
- )
- set /a n-=1
- for %%k in (!str1!) do set var=!var:%%k=!
- )
- echo,!str2!
- pause
复制代码
作者: 帝尊 时间: 2022-10-11 13:09
hfxiang 发表于 2022-10-11 10:52
要求不重复取值可以这样:
qixiaobin0715 发表于 2022-10-11 12:21
感谢两位大神。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |