转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 电脑应用 >> 电脑技术 >> 正文
批处理命令随机数random的用法及实例         ★★★★

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

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1615 更新时间:2010/6/12 22:06:08

  最近研究批处理命令,偶然发现,居然还有随机数,在此之前,是未敢想过。

  说到随机数,不同的软件都有随机函数的功能,使用方法大体类似,但却有着区别。

  本文,给您介绍一下MS-DOS中的批处理命令random的用法及实例。

  一、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%!


[网络技术]通过批处理命令查找某种扩展名的文件并生成列表  [网络技术]Xcopy批处理命令之参数介绍之复制本地文件或网络文…
[网络技术]批处理命令之for循环实例介绍上篇  [网络技术]批处理命令之for循环实例介绍下篇
[网络技术]使用批处理命令将网络中的共享打印机添加为本地打…  [电脑技术]批处理命令中set定义的两种变量介绍
[电脑技术]用批处理命令扫描目录文件夹名称的代码  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 电脑技术  · 操作系统
    · 磁盘工具  · 视音频技术
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台