|
yiyuncao007
初级用户
积分 110
发帖 45
注册 2008-1-25
状态 离线
|
『楼 主』:
半夜写了一个数字循环,不知道为什么不能输出
set a=%random:~0,1%
set b=%random:~0,3%
set var=%random:~0,2%
echo %var%
pause
for /L %%var in (%%a,1,%%b) do echo %%var>> a.txt
pause
一到了FOR 语句DOS就退出了,
|
|
2008-7-1 00:52 |
|
|
yiyuncao007
初级用户
积分 110
发帖 45
注册 2008-1-25
状态 离线
|
『第
2 楼』:
FOR语句有问题吗,a是一位数,b是三位数,var是两位数,按逻辑应该要输出的呀?
|
|
2008-7-1 01:00 |
|
|
radem
高级用户
CMD感染者
积分 691
发帖 383
注册 2008-5-23
状态 离线
|
『第
3 楼』:
for /L %%var in (%%a,1,%%b) do echo %%var>> a.txt
|
|
|
2008-7-1 01:05 |
|
|
yiyuncao007
初级用户
积分 110
发帖 45
注册 2008-1-25
状态 离线
|
|
2008-7-1 01:20 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
5 楼』:
c:\>for/?
%variable 指定一个单一字母可替换的参数。
set a=b
echo %a%
a是一位数,b是三位数,var是两位数。。。
你怎么知道就一定是这样。。
set b=%random:~0,3%
万一执行这句时random 扩展出的值是两位数呢。。
[ Last edited by pusofalse on 2008-7-1 at 03:25 AM ]
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-7-1 03:23 |
|
|
qianmo717
初级用户
积分 68
发帖 32
注册 2007-12-9
状态 离线
|
『第
6 楼』:
set a=%random:~0,1%
set b=%random:~0,3%
set var=%random:~0,2%
如果上面的语句得出了你想要的结果:即a是一位数....
for /L %%var in (%%a,1,%%b) do echo %%var>> a.txt
那么上面的%%a,%%b和%%var也是不对的
变量是用%a%表示的
|
|
2008-7-1 06:12 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
7 楼』:
@echo off
set a=%random:~0,1%
set b=%random:~0,3%
set v=%random:~0,2%
echo %v%
pause
for /L %%v in (%a%,1,%b%) do echo %%v
pause 1. for循环里面的控制变量只能是一位字符
2. for循环里面的控制变量这样写%%c,其他变量这样写%a%
|
|
|
2008-7-1 10:00 |
|
|
yiyuncao007
初级用户
积分 110
发帖 45
注册 2008-1-25
状态 离线
|
『第
8 楼』:
哦,原来FOR循环里的控制变量只能用单字符表示,在DOS环境里怎么设置成这样呀,*.bat能运行了,但是我觉得输出应该是一行,结果却和我预想不一样?
V取值不是只有一次吗?
|
|
2008-7-1 20:38 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
9 楼』:
for /l %%v in (100,1,200) do echo %%v
这个和C语言是类似的
for (v=100;v<=200;v++){
printf("%d",v);
}
这次明白了否?
|
|
|
2008-7-1 21:07 |
|
|
yiyuncao007
初级用户
积分 110
发帖 45
注册 2008-1-25
状态 离线
|
『第
10 楼』:
汉,脑袋转不过来,HAT你这样一讲让我顿感彻悟了,色即上空,空即是色,哈
|
|
2008-7-1 21:21 |
|