批处理命令随机数random的用法及实

更新时间:2023-06-11 16:34:31 阅读: 评论:0

批处理命令随机数random的用法及实例
最近研究批处理命令,偶然发现,居然还有随机数,在此之前,是未敢想过。
  说到随机数,不同的软件都有随机函数的功能,使用方法大体类似,但却有着区别。
本文,给您介绍一下MS-DOS中的批处理命令random的用法及实例。
0到100之间的数
@echo off
tlocal enabledelayedexpansion
t /a h1="%random%%%100"::除以100的余数
分词
echo %h1%
pau
英语四六级查分
产生一个255以内的数
@echo off
tlocal enabledelayedexpansion
t /a h1=%random%%%255+1
echo %h1%
pau
_______________________
随机 0-99 的随机数
@echo off
something的用法:loop
t /a "a=%random%%%100"
echo %a%
pau
goto loop
---
:
%random%变量指032726的随机数
%random%%%100是指向100professionalism求模红与黑下载,意指用随机数%random%除以100,然后取余数,余数就只能为0-99之间了.
批处理产生四个四位不重复的随机数
@echo off
tlocal enabledelayedexpansion
t var=123456789
t /a h1=%random%%%9+1
t var=!var:%h1%=0!
for /l %%i in (9,-1,7) do (
        t /a temp=!random!%%%%i
        call t h%%i=%%var:~!temp!,1%%
        call t var=%%var:!h%%i!=%%
)
echo %h1%%h9%%h8%%h7%
pau
批处理产生四个四位不重复的随机数@echo off
tlocal enabledelayedexpansion
t /a str=123456789
for /l %%i in (1 1 10) do (
    t /a num=!random! %% 9+1
    call t str=%%str:!num!=%%!num!
)
echo !str:~2,4!
Pau
@echo off&tlocal enabledelayedexpansion
:
:生成四位的随机数100个
for /l %%i in (1,1,100) do (t/a #%%i=!random!%%9000+1000)
::过滤掉有重复数字的随机数
for /l %%i in (0,1,100) do (
词组英文for /l %%j in (0,1,9) do (
t ss=!#%%i:%%j=!
if !ss! lss 100 (t "#%%i=")
)
)
for /f "tokens=2 delims=#=" %%i in ('t #') do echo %%i
pau
  一、random的取值范围
family
  要使用random,必须将其当作一个变量来使用,这样才能得到值。
  打开MS-DOS窗口,输入如下代码,即可获得值。
  echo %random%
  %random%可以产生0到65535之间的随机数。
  二、通过获得一定范围内的随机数
  通过一,我们知道,%random%可以产生0到32767之间的随机数,但是,如何才能得到一定范围内的随机数呢?
  通用的算法公式如下:
  通用的公式%random%%%(max-min+1)+min来产生[min,max]区间里的随机数,注:批处理中求模得用两个%%符号。
  比如,我们想获得4到12之间的随机数,就可以这样来使用,代码如下:
  @REM 产生10个[4,12]间的随机数
  @echo off
  REM 启用延迟环境变量扩展
  tlocal enabledelayedexpansion
  REM 设置随机数的最小和最大值以及求模用的变量
  t min=4
  t max=12
  t /a mod=!max!-!min!+1
  for /l %%i in (1,1,10) do (
   REM 产生[min,max]之间的随机数
    t /a r=!random!%%!mod!+!min!
    echo.
    echo 随机数%%i:!r!
  )
  三、其它实例
  实例①:常用功能 
  生成1到100之间的随机数
  t /a RandomNumber=%random%%%100+1         
  ::100是范围数,1是底数即开始的数.(在bat 中使用),在CMD中会出错.
  ::取随机两位数
  t /a d=%random:~0,2%
  echo %d%
  ::避免00
  t /a e=1%random:~0,2%-100
  echo %e% @echo off
  :loop
  t /a RandomNumber=1%random:~-1%%random:~-1%-99
  ::最大值100在线英译汉
  if %RandomNumber% LSS 35 goto loop
  ::小于35返回
  if %RandomNumber% GTR 75 goto loop
  ::大于75返回
  echo %RandomNumber%
  if "%RandomNumber%" == "50" pau
  goto loop
  实例②:随机获取文件名
  @echo off
  if "%1" NEQ "$" (
            for /f "tokens=1,2 delims=:" %%a in ('"%~0" $^|sort') do @echo %%b
  ) el for /f "delims=" %%i in ('dir /b /a-d *.mp3') do @call :sub %%i主要看气质
  goto :EOF:sub
  echo %random%:%*
  goto :EOF
  实例③:在一个文本中随机取一行数据
  @ECHO %DBG% OFF
  SETLOCAL ENABLEDELAYEDEXPANSION
  FOR /F "TOKENS=*" %%i IN (TEST.TXT) DO (SET /A h+=1 & SET r!h!=%%i)女王英文
  SET /A s=%RANDOM%%%%h%+1
  ECHO !r%s%!

本文发布于:2023-06-11 16:34:31,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/141506.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:使用   批处理   命令   功能   范围
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图