中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-04 07:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于一个题目的逻辑思维问题 查看 1,066 回复 5
楼 主 关于一个题目的逻辑思维问题 发表于 2008-08-24 12:19 ·  中国 江西 吉安 电信
初级用户
积分 40
发帖 20
注册 2008-07-21 10:28
17年会员
UID 121816
性别 男
状态 离线
最近在学习FOR的用法,搜索论坛看到一个这样的问题
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!
)

我是这样的理解的:Set /a count=0 变量conunt初始值为哦
echo %count% 显示变量的值
set /a count+=3 变量conunt的值自动累计加3
echo %count% 显示变量的值

rem 启动变量延迟
Setlocal EnableDelayedExpansion

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

记录在E盘目录\info\qimage 下所有文件的数量,并显示出来
不知道我这样理解对不对。还有一点我不明白的是。为什么他开始声明时说了初始值为0,但是为什么又要写set /a count+=3这句呢 ,有什么意义吗,实在不明白还请前辈门指点
2 发表于 2008-08-24 12:32 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
虽然批处理中的变量不需要初始化就能直接使用,但是,变量初始化是一个好的习惯,可以避免某些隐患。
3 发表于 2008-08-24 15:32 ·  中国 江西 吉安 电信
初级用户
积分 40
发帖 20
注册 2008-07-21 10:28
17年会员
UID 121816
性别 男
状态 离线
Set /a count=0已经有这句了
但是为什么又要写set /a count+=3这句呢 ,有什么意义吗,实在不明白还请前辈门指点
难道也是初始化???
4 发表于 2008-08-24 15:55 ·  中国 广东 广州 电信
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
下面的内容是你帖子中的:
我是这样的理解的:Set /a count=0 变量conunt初始值为哦
echo %count% 显示变量的值

set /a count+=3 变量conunt的值自动累计加3
echo %count% 显示变量的值


[ Last edited by moniuming on 2008-8-24 at 03:56 PM ]
5 发表于 2008-08-24 15:57 ·  中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
没什么意思.其实你看的这个贴子估计也是新手写的
完全可以直接定义变量count=3
这样可以简洁明了.
6 发表于 2008-08-24 17:21 ·  中国 江西 吉安 电信
初级用户
积分 40
发帖 20
注册 2008-07-21 10:28
17年会员
UID 121816
性别 男
状态 离线
set /a count+=3 那这句我理解变量每次都是按加3递增的这样对吗
还是就是把COUNT定义为3
论坛跳转: