中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 21:59
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » For 循环中Set /a 怎么起作用
可打印版本  1,858 / 10
第1楼 coolfsp 发表于 2008-06-03 16:46
新手上路 发帖 8 积分 17
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无效,为什么?
第2楼 thirteen 发表于 2008-06-07 20:23
初级用户 发帖 29 积分 58 来自 地狱十九重
我也发现了,搞得很郁闷.
也在找解决办法.
第3楼 lxmxn 发表于 2008-06-07 21:09
版主 发帖 4,938 积分 11,386
set /a count+=1 的作用是使变量 count 的值自加1,无效是因为你没有启用变量延迟功能,试试下面的代码:

想知道原因的话,就自己搜索一下论坛,关键字“变量延迟”。
第4楼 plp626 发表于 2008-06-07 21:10
银牌会员 发帖 1,020 积分 2,278
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%%
)
第5楼 plp626 发表于 2008-06-07 21:11
银牌会员 发帖 1,020 积分 2,278
『第 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%
第6楼 thirteen 发表于 2008-06-07 21:35
初级用户 发帖 29 积分 58 来自 地狱十九重
谢谢
第7楼 hisplay 发表于 2008-08-17 10:56
初级用户 发帖 56 积分 108
很好。。。牛人多啊
第8楼 killkk 发表于 2008-10-09 22:22
初级用户 发帖 39 积分 61 来自 come from hb--wh
飘过。。
第9楼 luowei14 发表于 2008-10-09 22:56
初级用户 发帖 98 积分 193
....CALL的用法还真多..学习了
第10楼 mimi820 发表于 2008-10-10 22:22
初级用户 发帖 20 积分 35
简单的说就是运算出变量的结果
第11楼 feiyuguochen 发表于 2008-12-14 15:14
初级用户 发帖 36 积分 34
与楼主最接近的修改
最简单的修改:
@echo off
Set count=0
for /r e:\info\qimage %%i in (*) do (
set /a count=count+1
)
echo %count%
pause
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023