如何在批处理脚本中使用随机性?
发布于 2011-04-25 18:46:14
%RANDOM%
会给出一个介于0和32767之间的随机数。
使用类似于SET /A test=%RANDOM% * 100 / 32768 + 1
的表达式,您可以将范围更改为所需的任何值(此处的范围为1…100而不是0…32767)。
发布于 2011-04-29 02:50:39
您可能希望获得多个随机数,并且可能希望能够为每个随机数指定不同的范围,因此您应该定义一个函数。在我的示例中,我使用call:rand 25 30
生成从25到30的数字。在该函数退出后,结果在RAND_NUM
中。
@echo off & setlocal EnableDelayedExpansion
for /L %%a in (1 1 10) do (
call:rand 25 30
echo !RAND_NUM!
)
goto:EOF
REM The script ends at the above goto:EOF. The following are functions.
REM rand()
REM Input: %1 is min, %2 is max.
REM Output: RAND_NUM is set to a random number from min through max.
:rand
SET /A RAND_NUM=%RANDOM% * (%2 - %1 + 1) / 32768 + %1
goto:EOF
发布于 2011-04-25 18:21:35
@echo off & setLocal EnableDelayedExpansion
for /L %%a in (1 1 100) do (
echo !random!
)
https://stackoverflow.com/questions/5777400
复制相似问题