中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]随机颜色变换为何只能显示一种颜色?
作者:
标题: [已结]随机颜色变换为何只能显示一种颜色? 上一主题 | 下一主题
hackerscans
初级用户





积分 73
发帖 51
注册 2007-8-31
状态 离线
『楼 主』:  [已结]随机颜色变换为何只能显示一种颜色?

请看代码:
@echo off & setlocal  ENABLEDELAYEDEXPANSION
  for /L %%i in (1,1,100) do (set /a n+=1
   cls
   @echo !n!
   ping 127.1 -n 1 >nul
   color %random:~0,2%)

问题:我想让颜色随着数字的改变而改变。但是为什么这种情况下却始终一个颜色呢? 是不是我开启了延迟变量?

谢谢解答

[ Last edited by HAT on 2009-1-1 at 21:31 ]

2009-1-1 10:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

把@echo off删除,最后加个pause,看看执行过程就明白了。



2009-1-1 11:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hackerscans
初级用户





积分 73
发帖 51
注册 2007-8-31
状态 离线
『第 3 楼』:  

按照HAT版主的做了,为什么颜色没有随即改变呢?请指教。

2009-1-1 12:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 4 楼』:  

call color %%random:~0,2%%

   此帖被 +2 点积分    点击查看详情   
评分人:【 HAT 分数: +2  时间:2009-1-1 21:32


2009-1-1 14:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 5 楼』:  

这个 用 !n!
到下面怎么用 %呢



简单!简单!再简单!
2009-1-1 17:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  Re 3楼

因为我告诉你的只是找出问题的方法,解决问题的方法你可以自己先想想。



2009-1-1 18:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hackerscans
初级用户





积分 73
发帖 51
注册 2007-8-31
状态 离线
『第 7 楼』:  

首先谢谢各位高手的指教。
正如楼上各位所说,我的这个color 没有设置变量延迟,从而导致一种颜色。
可以把% 换成 ! 也可以加上call来实现延迟。  

请各位赐教。

2009-1-1 21:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 8 楼』:  

学习了:
我以为只有 set n=!n:~1,2!
原来还可以: coror !n:~1,2!

2009-1-2 01:28
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: