



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
批处理命令随机数 random 的用法及实例最近研究批处理命令,偶然发现,居然还有随机数,在此之前,是未敢想过。说到随机数,不同的软件都有随机函数的功能,使用方法大体类似,但却有着区别。本文,给您介绍一下 MS-DOS 中的批处理命令 random 的用法及实例。0 到 100 之间的数echo offsetlocal enabledelayedexpansionset /a h1=“%random%100“:除以 100 的余数echo %h1%pause产生一个 255 以内的数echo offsetlocal enabledelayedexpansionset /a h1=%random%255+1echo %h1%pause_随机 0-99 的随机数echo off :loop set /a “a=%random%100“ echo %a%pause goto loop - 注: %random%变量指 0 到 32726 的随机数 %random%100 是指向 100 求模,意指用随机数%random%除以 100,然后取余数,余数就只能为 0-99 之间了.批处理产生四个四位不重复的随机数echo offsetlocal enabledelayedexpansionset var=123456789set /a h1=%random%9+1set var=!var:%h1%=0!for /l %i in (9,-1,7) do (set /a temp=!random!%icall set h%i=%var:!temp!,1%call set var=%var:!h%i!=%)echo %h1%h9%h8%h7%pause批处理产生四个四位不重复的随机数echo offsetlocal enabledelayedexpansionset /a str=123456789for /l %i in (1 1 10) do (set /a num=!random! % 9+1call set str=%str:!num!=%!num!)echo !str:2,4!Pauseecho off&setlocal enabledelayedexpansion:生成四位的随机数 100 个for /l %i in (1,1,100) do (set/a #%i=!random!%9000+1000):过滤掉有重复数字的随机数 for /l %i in (0,1,100) do (for /l %j in (0,1,9) do (set ss=!#%i:%j=!if !ss! lss 100 (set “#%i=“)for /f “tokens=2 delims=#=“ %i in (set #) do echo %ipause一、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 offREM 启用延迟环境变量扩展setlocal enabledelayedexpansionREM 设置随机数的最小和最大值以及求模用的变量set min=4set max=12set /a mod=!max!-!min!+1for /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%:避免 00set /a e=1%random:0,2%-100echo %e% echo off:loopset /a RandomNumber=1%random:-1%random:-1%-99:最大值 100if %RandomNumber% LSS 35 goto loop:小于 35 返回if %RandomNumber% GTR 75 goto loop:大于 75 返回echo %RandomNumber%if “%RandomNumber%“ = “50“ pausegoto loop实例:随机获取文件名echo offif “%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 %igoto :EOF:subecho %random%:%*goto :EOF实例:在一个文本中随机取一行数据ECHO %DBG% OFFSETLO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市2025年普通高等学校招生全国统一考试康德调研(四)英语试题及答案
- 《2025员工终止劳动关系合同书》
- 2025年劳动合同指引:中外合资企业
- 机关档案工作规范
- 提升基层治理效能的创新策略与实施路径
- 2025果品类买卖合同书范本
- 西安科技大学《机器人学引论》2023-2024学年第二学期期末试卷
- 珠海艺术职业学院《影视导演艺术》2023-2024学年第一学期期末试卷
- 南京邮电大学通达学院《基础写作(Ⅰ)》2023-2024学年第一学期期末试卷
- 湖南三一工业职业技术学院《精神药理学》2023-2024学年第一学期期末试卷
- 【9物一模】安徽合肥瑶海区2025年中考物理一模试卷
- 双休日超车好时机!课件-2024-2025学年高中下学期学习哲思主题班会
- 餐厅点菜技巧培训
- 2025陕西西安亮丽电力集团限责任公司招聘55人高频重点模拟试卷提升(共500题附带答案详解)
- 建筑工程隔声、节能和LEED认证配合管理方案
- 办公室文员招聘启事范文模板
- 学风建设主题班会(大学班会)
- 干洗店服务合同
- IDC机柜租赁服务合同
- 急性心房颤动中国急诊管理指南(2024)解读
- 知识产权合规管理体系解读
评论
0/150
提交评论