中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 20:41
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批处理:为什么变量值改变不了?
可打印版本  620 / 1
第1楼 lg0602 发表于 2009-05-15 06:22
新手上路 发帖 1 积分 1
[求助]批处理:为什么变量值改变不了?
set /a one=1
set /a n=0
for %%a in (*.txt) do (
set /a n+=1
if %n% geq %one% echo %n%大于等于%one%
if %n% lss %one% echo %n%小于%one%
)
pause

我E盘有2个.txt文件
控制台输出
E:\>set /a one=1

E:\>set /a n=0

E:\>for %a in (*.txt) do (
set /a n+=1
if 0 GEQ 1 echo 0大于等于1
if 0 LSS 1 echo 0小于1
)

E:\>(
set /a n+=1
if 0 GEQ 1 echo 0大于等于1
if 0 LSS 1 echo 0小于1
)
0小于1

E:\>(
set /a n+=1
if 0 GEQ 1 echo 0大于等于1
if 0 LSS 1 echo 0小于1
)
0小于1

E:\>pause
请按任意键继续. . .请按任意键继续. . .

而且去掉for前面的set /a n=0去了,控制台一闪就没有啦!
我是兴趣学一下的,清楚什么原因的请指教一下,谢谢!
第2楼 netbenton 发表于 2009-05-15 06:54
银牌会员 发帖 752 积分 1,916 来自 广西
for /r %%a in (*.txt) do (...

才是读取文件名的
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023