[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这个不错,挺简的!
享受批处理的神奇!!!

TOP

高手如云啊

TOP

  1. @echo off
  2. ::setlocal enabledelayedexpansion
  3. :1
  4. set a=%random%
  5. if %a% lss 100 goto :1
  6. if %a% gtr 200 goto :1
  7. echo %a%
  8. pause>nul
复制代码
菜鸟一个,潜心学习
总有学会的一天

TOP

好,学习啦     积累的少啊
haohaoxuexi

TOP

本帖最后由 dosbat 于 2011-4-20 21:53 编辑

呵呵 代码如下 希望高手点评下 看有哪里写的不合适的地方
菜鸟一个 呵呵 代码如下:
  1. @echo off&color 0a
  2. set max=200,min=100
  3. for /l %%i in (1,1,100) do (
  4.                 ::call调用的时候不要忘记:
  5. call :rand %%i %max% %min%
  6. )
  7. pause&goto exit
  8. ::  :rand函数的定义
  9. :rand
  10. set /a ran=%random%%%(%2-%3+1)+%3
  11. echo 第%1个随机数:%ran%
  12. goto :eof
  13. :exit
  14. exit
复制代码
附带我对call的一些粗浅的理解:
call :标号  【参数列表】 注意我代码中的%1代表:rand这个函数的第一个参数,也就是for循环里面的%%i
其他依次类推 特别注意的是%0代表:rand本身而不是第一个参数 呵呵 刚开始我也犯了这个错误:用%0来引用第一个参数
例外我觉得call的使用有点类似于汇编中的call

TOP

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

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

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

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

TOP

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

TOP

@echo off
set /a a=%random%%%100+200
echo %a%
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 b=%random%%%100 +100
echo %b% >>b.txt
pause

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

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

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

TOP

返回列表