中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 01:01
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 不能执行set
可打印版本  1,799 / 18
第1楼 scriptor 发表于 2006-12-31 02:59
银牌会员 发帖 555 积分 1,187
不能执行set

我的程序是:

@echo off
for /l %%a in (1,1,4) do (

set /a n+=1

for /l %%b in (1,1,%n%) do (

echo hello,world )

)
pause

我运行了一下,可就是没有预期的效果。
n 还是一直为零。

也就是说,set 这个循环没有执行,请高手看看 怎么回事?

第2楼 everest79 发表于 2006-12-31 03:06
金牌会员 发帖 1,127 积分 2,564
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%a in (1,1,4) do (

set /a n+=1

for /l %%b in (1,1,!n!) do (

echo hello,world )

)
pause

这样试试行不行
第3楼 scriptor 发表于 2006-12-31 03:11
银牌会员 发帖 555 积分 1,187
试过了,还是不行啊
第4楼 ccwan 发表于 2006-12-31 03:13
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
是这样吗?
第5楼 lxmxn 发表于 2006-12-31 03:18
版主 发帖 4,938 积分 11,386

  再来一个演示代码:
第6楼 lxmxn 发表于 2006-12-31 03:20
版主 发帖 4,938 积分 11,386
Originally posted by ccwan at 2006-12-30 14:13:
是这样吗?


  这不是楼主要的效果吧?
第7楼 everest79 发表于 2006-12-31 03:21
金牌会员 发帖 1,127 积分 2,564
好的呀,显示了十次
==呵呵,可以省略掉了
第8楼 ccwan 发表于 2006-12-31 03:22
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
呵呵,不错。
第9楼 scriptor 发表于 2006-12-31 03:23
银牌会员 发帖 555 积分 1,187
还是不对阿

我分析一下啊

%%a 有4次
那么 n 也就会循环到4
这样%%b 就会 从1到4进行循环

最后的结果应该是
第一次输出1个
第二次输出2个
。。。
。。。

那么总共输出1+2+3+4=10个“hello,world”
俄哦要的就是这个效果

可是你的只有四次,你的set 执行了四次,最后n=4
而没有n=1,2,3的情况使得%%b循环,以至于达不到我要的结果
第10楼 scriptor 发表于 2006-12-31 03:26
银牌会员 发帖 555 积分 1,187
everest79

不错,效果是有了

但是你避开了set的有效循环,我既要效果,还有解决set在循环体内部的循环问题

你的真的很不错
我为什么就没有想到
但是我在其他的编程时,同样要碰到set的循环问题,
所以我还是要使得set能够循环
第11楼 ccwan 发表于 2006-12-31 03:27
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
第12楼 everest79 发表于 2006-12-31 03:28
金牌会员 发帖 1,127 积分 2,564
第13楼 ccwan 发表于 2006-12-31 03:29
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
最近越来越不明白大家都在干什么,有什么目的了。
可能我太不适合待下去了,准备潜水……
第14楼 scriptor 发表于 2006-12-31 03:36
银牌会员 发帖 555 积分 1,187
2楼的
我调适了
不通过

谢谢大家
第15楼 scriptor 发表于 2006-12-31 03:38
银牌会员 发帖 555 积分 1,187
ccwan

对不起哦

我不是说你的不行

只是我真的想要set 能在for 中循环

谢谢
我很佩服你的
真的

不要不理我们这帮菜鸟
呵呵
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023