![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 01:19 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 半夜写了一个数字循环,不知道为什么不能输出 |
| 可打印版本 827 / 9 |
| 第1楼 yiyuncao007 | 发表于 2008-07-01 00:52 |
| 初级用户 发帖 45 积分 110 | |
|
半夜写了一个数字循环,不知道为什么不能输出 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就退出了, ![]() |
|
| 第2楼 yiyuncao007 | 发表于 2008-07-01 01:00 |
| 初级用户 发帖 45 积分 110 | |
|
FOR语句有问题吗,a是一位数,b是三位数,var是两位数,按逻辑应该要输出的呀?
|
|
| 第3楼 radem | 发表于 2008-07-01 01:05 |
| 高级用户 发帖 383 积分 691 | |
|
for /L %%var in (%%a,1,%%b) do echo %%var>> a.txt
|
|
| 第4楼 yiyuncao007 | 发表于 2008-07-01 01:20 |
| 初级用户 发帖 45 积分 110 | |
|
楼上的和我写的是一样的呀
|
|
| 第5楼 pusofalse | 发表于 2008-07-01 03:23 |
| 银牌会员 发帖 646 积分 1,604 | |
|
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 ] |
|
| 第6楼 qianmo717 | 发表于 2008-07-01 06:12 |
| 初级用户 发帖 32 积分 68 | |
|
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%表示的 |
|
| 第7楼 HAT | 发表于 2008-07-01 10:00 |
| 版主 发帖 5,017 积分 9,023 | |
|
1. for循环里面的控制变量只能是一位字符 2. for循环里面的控制变量这样写%%c,其他变量这样写%a% |
|
| 第8楼 yiyuncao007 | 发表于 2008-07-01 20:38 |
| 初级用户 发帖 45 积分 110 | |
|
哦,原来FOR循环里的控制变量只能用单字符表示,在DOS环境里怎么设置成这样呀,*.bat能运行了,但是我觉得输出应该是一行,结果却和我预想不一样?
V取值不是只有一次吗? |
|
| 第9楼 HAT | 发表于 2008-07-01 21:07 |
| 版主 发帖 5,017 积分 9,023 | |
|
for /l %%v in (100,1,200) do echo %%v
这个和C语言是类似的 for (v=100;v<=200;v++){ printf("%d",v); } 这次明白了否? |
|
| 第10楼 yiyuncao007 | 发表于 2008-07-01 21:21 |
| 初级用户 发帖 45 积分 110 | |
|
汉,脑袋转不过来,HAT你这样一讲让我顿感彻悟了,色即上空,空即是色,哈
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |