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

[数值计算] [已解决]批处理%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!有什么区别?分别怎么用?

刚刚接触批处理,希望各位不吝指教
1

评分人数

    • hanyeguxing: 感谢给帖子标题标注[已解决]字样PB + 2

先看一下“setlocal enabledelayedexpansion”的意思,再去想它们有没有区别
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

echo是不能进行数值计算的~~所以echo !random!%%30中随机数后面的内容当成要显示的内容,两个%%显示成一个了,所以会显示“随机数%30“,要搞明白%random%和!random!的区别,就遵照楼上高手的指示吧……
看得多说得多,远比不上写得多。

TOP

这让我有些无从下手……能给个链接什么的么?谢谢啦

TOP

回复 4楼 的帖子

本论坛搜索“变量延迟”
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

说到搜索,我想问下,这里为什么不开放全文搜索权限呢?十分不理解

TOP

回复 4楼 的帖子

批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表