找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: youxi01

批处理如何产生一个100-200 之间的随机数?

[复制链接]
发表于 2010-5-4 19:36:00 | 显示全部楼层
想了半天没明白,问了下别人才发现原来是用取余数的方法...
发表于 2010-5-4 21:45:26 | 显示全部楼层
原帖由 随风 于 2008-6-8 22:40 发表
%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :a
  4. set /a ran=%random%
  5. if %ran% gtr 32723 (goto a)
  6. set /a var=%ran%%%101+100
  7. echo %var%
  8. pause
  9. cls
  10. goto a
复制代码

感觉这样子合理一些


[ 本帖最后由 zhenglj 于 2010-5-6 23:18 编辑 ]
发表于 2010-5-6 23:19:31 | 显示全部楼层

  1. @ echo off
  2. :late
  3. set /a num=%random%%%200
  4. if %num% gtr 100 (echo %num%) else (goto late)
  5. pause
复制代码
发表于 2010-5-7 20:59:41 | 显示全部楼层
100-200的理解是?如果是包含100和200,代码如下:

  1. @echo off
  2. :loop
  3. cls
  4. set /a r=100+%random%%%101
  5. echo %r%
  6. pause
  7. goto :loop
复制代码
发表于 2010-5-8 17:30:46 | 显示全部楼层
好东西。学习!偶也试一下:
@echo off
:start
set /a w=%random% %% 101+100
echo %w%
pause
goto start
发表于 2010-5-11 18:40:35 | 显示全部楼层
@echo off
:loop
set /a m=%random%%%100+100
echo %m%
pause
goto loop
发表于 2010-7-19 19:28:55 | 显示全部楼层
答:
  1. @echo off
  2. :start
  3. set /a mun=%random%%%200
  4. if %mun% lss 100 goto start else (
  5. echo %mun%
  6. )
  7. pause
复制代码
效果:

end;
发表于 2010-9-10 13:04:39 | 显示全部楼层
  1. @echo off
  2. set /p n=请输入下限值:
  3. set /p m=请输入上限值:
  4. set /a i=%random%%%%m%+%n%
  5. echo %i%
  6. pause
复制代码
发表于 2010-9-12 20:21:10 | 显示全部楼层
@echo off
set /a b=%random%%%100 +100
echo %b% >>b.txt
pause
发表于 2010-9-13 10:45:12 | 显示全部楼层
  1. @echo off
  2. :1
  3. set /a aa=%random%%%201
  4. if %aa% gtr 99 (echo %aa%) else goto 1
  5. pause&goto 1
复制代码

[ 本帖最后由 leap 于 2010-9-13 10:47 编辑 ]
发表于 2011-2-2 16:13:23 | 显示全部楼层
@echo off
set /a a=%random%%%100+200
echo %a%
pause
发表于 2011-2-2 16:21:55 | 显示全部楼层
上面的搞错了
@echo off
:1
set /a a=%random%%%99+101
echo %a%
pause&goto :1
发表于 2011-3-11 22:34:30 | 显示全部楼层

这是什么意思啊?看不懂 只知道random能产生一个随机数

set /a num=%random%%%100+100
发表于 2011-4-7 23:01:13 | 显示全部楼层
本帖最后由 mxxcgzxxx 于 2011-4-7 23:05 编辑

我的够特别的吧,基本超乱

  1. @echo off
  2. :xx
  3. set /a a=%rendom:~1,2%+100
  4. echo %a%
  5. pause
  6. goto xx
复制代码
发表于 2011-4-20 21:25:22 | 显示全部楼层
3# zhangxiaopeng
因为在批处理中 取模运算是:%% 需要2个
而为了引用random 要用%random%
故出现了%random%%%这个形式
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:38 , Processed in 0.020823 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表