文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

bat下怎么产生指定范围随机数字

2023-06-08 12:52

关注

本篇内容主要讲解“bat下怎么产生指定范围随机数字”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“bat下怎么产生指定范围随机数字”吧!



一、random的取值范围

  要使用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 启用延迟环境变量扩展
  setlocal enabledelayedexpansion
  REM 设置随机数的最小和最大值以及求模用的变量
  set min=4
  set max=12
  set /a mod=!max!-!min!+1

  for /l %%i in (1,1,10) do (
  REM 产生[min,max]之间的随机数
  set /a r=!random!%%!mod!+!min!
   echo.
  echo 随机数%%i:!r!
  )



三、其它实例

  实例①:常用功能  
  生成1到100之间的随机数

代码如下:


  set /a RandomNumber=%random%%%100+1
  ::100是范围数,1是底数即开始的数.(在bat 中使用),在CMD中会出错.
  ::取随机两位数
  set /a d=%random:~0,2%
  echo %d%
  ::避免00
  set /a e=1%random:~0,2%-100
  echo %e% @echo off
  :loop
  set /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" pause
  goto loop



  实例②:随机获取文件名

代码如下:


  @echo off
  if "%1" NEQ "$" (
   for /f "tokens=1,2 delims=:" %%a in ('"%~0" $^|sort') do @echo %%b
  ) else 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%!

到此,相信大家对“bat下怎么产生指定范围随机数字”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯