中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: For 循环中Set /a 怎么起作用 上一主题 | 下一主题
coolfsp
新手上路





积分 17
发帖 8
注册 2008-5-30
状态 离线
『楼 主』:  For 循环中Set /a 怎么起作用

Set /a count=0
echo %count%
set /a count+=3
echo %count%
for /r e:\info\qimage %%i in (*) do (
    set /a count+=1
    echo %count%
)

上面的code , 其中set /a count+=1无效,为什么?

2008-6-3 16:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
thirteen
初级用户

夜语者



积分 58
发帖 29
注册 2007-4-22
来自 地狱十九重
状态 离线
『第 2 楼』:  

我也发现了,搞得很郁闷.
也在找解决办法.



冰我喜欢你


无论如何,坚守最后的良知!
thirteen.pdx.cn
2008-6-7 20:23
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  

set /a count+=1 的作用是使变量 count 的值自加1,无效是因为你没有启用变量延迟功能,试试下面的代码:
Set /a count=0
echo %count%
set /a count+=3
echo %count%

rem 启动变量延迟
Setlocal EnableDelayedExpansion

for /r e:\info\qimage %%i in (*) do (
    set /a count+=1
    echo !count!
)
想知道原因的话,就自己搜索一下论坛,关键字“变量延迟”。

2008-6-7 21:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 4 楼』:  

Set /a count=0
echo %count%
set /a count+=3
echo %count%
for /r e:\info\qimage %%i in (*) do (
    set /a count+=1
    call echo %%count%%
)



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-6-7 21:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 5 楼』:  

『第 4 楼』:  

Set /a count=0
echo %count%
set /a count+=3
echo %count%
for /r e:\info\qimage %%i in (*) do (
    set /a count+=1
    call:这个方法也可以延迟
)
pause
:这个方法也可以延迟
echo %count%



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-6-7 21:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
thirteen
初级用户

夜语者



积分 58
发帖 29
注册 2007-4-22
来自 地狱十九重
状态 离线
『第 6 楼』:  

谢谢



冰我喜欢你


无论如何,坚守最后的良知!
thirteen.pdx.cn
2008-6-7 21:35
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
hisplay
初级用户





积分 108
发帖 56
注册 2008-8-11
状态 离线
『第 7 楼』:  

很好。。。牛人多啊

2008-8-17 10:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
killkk
初级用户





积分 61
发帖 39
注册 2007-3-22
来自 come from hb--wh
状态 离线
『第 8 楼』:  

飘过。。

2008-10-9 22:22
查看资料  发送邮件  发短消息 网志  OICQ (75403481)  编辑帖子  回复  引用回复
luowei14
初级用户




积分 193
发帖 98
注册 2007-1-17
状态 离线
『第 9 楼』:  

....CALL的用法还真多..学习了



这家伙很聪明 什么都没留下
2008-10-9 22:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mimi820
初级用户





积分 35
发帖 20
注册 2008-10-2
状态 离线
『第 10 楼』:  

简单的说就是运算出变量的结果

2008-10-10 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
feiyuguochen
初级用户




积分 34
发帖 36
注册 2008-12-11
状态 离线
『第 11 楼』:  与楼主最接近的修改

最简单的修改:
@echo off
Set count=0
for /r e:\info\qimage %%i in (*) do (
    set /a count=count+1
   )
echo %count%
pause



爱死DOS亦无悔!

2008-12-14 15:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: