标题: [已结]随机颜色变换为何只能显示一种颜色?
[打印本页]
作者: hackerscans
时间: 2009-1-1 10:59
标题: [已结]随机颜色变换为何只能显示一种颜色?
请看代码:
@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 ]
作者: HAT
时间: 2009-1-1 11:07
把@echo off删除,最后加个pause,看看执行过程就明白了。
作者: hackerscans
时间: 2009-1-1 12:41
按照HAT版主的做了,为什么颜色没有随即改变呢?请指教。
作者: tireless
时间: 2009-1-1 14:39
call color %%random:~0,2%%
作者: terse
时间: 2009-1-1 17:40
这个 用 !n!
到下面怎么用 %呢
作者: HAT
时间: 2009-1-1 18:15
标题: Re 3楼
因为我告诉你的只是找出问题的方法,解决问题的方法你可以自己先想想。
作者: hackerscans
时间: 2009-1-1 21:29
首先谢谢各位高手的指教。
正如楼上各位所说,我的这个color 没有设置变量延迟,从而导致一种颜色。
可以把% 换成 ! 也可以加上call来实现延迟。
请各位赐教。
作者: netbenton
时间: 2009-1-2 01:28
学习了:
我以为只有 set n=!n:~1,2!
原来还可以: coror !n:~1,2!