[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
想了半天没明白,问了下别人才发现原来是用取余数的方法...

TOP

原帖由 随风 于 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 编辑 ]

TOP

  1. @ echo off
  2. :late
  3. set /a num=%random%%%200
  4. if %num% gtr 100 (echo %num%) else (goto late)
  5. pause
复制代码

TOP

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
复制代码

TOP

好东西。学习!偶也试一下:
@echo off
:start
set /a w=%random% %% 101+100
echo %w%
pause
goto start

TOP

@echo off
:loop
set /a m=%random%%%100+100
echo %m%
pause
goto loop

TOP

答:
  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;

TOP

  1. @echo off
  2. set /p n=请输入下限值:
  3. set /p m=请输入上限值:
  4. set /a i=%random%%%%m%+%n%
  5. echo %i%
  6. pause
复制代码

TOP

@echo off
set /a b=%random%%%100 +100
echo %b% >>b.txt
pause

TOP

  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 编辑 ]

TOP

@echo off
set /a a=%random%%%100+200
echo %a%
pause

TOP

上面的搞错了
@echo off
:1
set /a a=%random%%%99+101
echo %a%
pause&goto :1

TOP

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

set /a num=%random%%%100+100

TOP

本帖最后由 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
复制代码
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

3# zhangxiaopeng
因为在批处理中 取模运算是:%% 需要2个
而为了引用random 要用%random%
故出现了%random%%%这个形式

TOP

返回列表