Board logo

标题: [数值计算] [已解决]批处理%random%和!random!有什么区别?分别怎么用? [打印本页]

作者: purrpig    时间: 2011-3-17 09:44     标题: [已解决]批处理%random%和!random!有什么区别?分别怎么用?

使用批处理,随机在30以内数值中抽取5个数值,并显示此五个数字。
论坛上有段代码
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (1,1,5) do echo !random!
  3. pause>nul
复制代码
这个就可以循环输出5次随机数,但当我将!random!改成!random!%%30时,他输出的是“随机数%30“

请问这是什么情况呢?

还有,%random%和!random!有什么区别?分别怎么用?

刚刚接触批处理,希望各位不吝指教
作者: wc726842270    时间: 2011-3-17 09:51

先看一下“setlocal enabledelayedexpansion”的意思,再去想它们有没有区别
作者: weichenxiehou    时间: 2011-3-17 10:13

echo是不能进行数值计算的~~所以echo !random!%%30中随机数后面的内容当成要显示的内容,两个%%显示成一个了,所以会显示“随机数%30“,要搞明白%random%和!random!的区别,就遵照楼上高手的指示吧……
作者: purrpig    时间: 2011-3-17 10:18

这让我有些无从下手……能给个链接什么的么?谢谢啦
作者: hanyeguxing    时间: 2011-3-17 10:29     标题: 回复 4楼 的帖子

本论坛搜索“变量延迟”
作者: CrLf    时间: 2011-3-17 12:56

说到搜索,我想问下,这里为什么不开放全文搜索权限呢?十分不理解
作者: Batcher    时间: 2011-3-17 17:03     标题: 回复 4楼 的帖子

批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2