中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]读取文件内容到数组,这后输出的问题?
作者:
标题: [已结]读取文件内容到数组,这后输出的问题? 上一主题 | 下一主题
bxdonne
初级用户





积分 28
发帖 11
注册 2007-11-7
状态 离线
『楼 主』:  [已结]读取文件内容到数组,这后输出的问题?

@echo off
setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%i in (1.txt) do (
     set a%n%=%%i
     echo a!n!=!a%n%!
     set /a n+=1
)
echo.
echo 从上面可以看到已经读装进数组,但是下面输出会出错(不知道该怎么改?)
echo.
for /l %%j in (0,1,!n!) do echo !a%%j!
pause

上面的代码不知道错在哪里,“echo !a%%j!”这句总是提示错误...

[ Last edited by bxdonne on 2007-11-8 at 03:39 PM ]

2007-11-8 08:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 2 楼』:  

set a%n%=%%i           ‘在这里,没用!,所以n变量一直为0
     echo a!n!=!a%n%!   ’这里也有同样的问题

2007-11-8 08:58
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
bxdonne
初级用户





积分 28
发帖 11
注册 2007-11-7
状态 离线
『第 3 楼』:  

那应该怎么改啊?谢谢!

2007-11-8 10:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 4 楼』:  


@echo off
setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%i in (1.txt) do (
     set a!n!=%%i
     call echo.a!n!=%%a!n!%%
     set /a n+=1
)
echo.
::echo 从上面可以看到已经读装进数组,但是下面输出会出错(不知道该怎么改?)
echo.
for /l %%j in (0,1,%n%) do echo.!a%%j!
pause
是要这个结果吗??

   此帖被 +2 点积分    点击查看详情   
评分人:【 bxdonne 分数: +1  时间:2007-11-8 10:26
评分人:【 cold1 分数: +1  时间:2010-11-27 18:36


2007-11-8 10:23
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
bxdonne
初级用户





积分 28
发帖 11
注册 2007-11-7
状态 离线
『第 5 楼』:  

是我想要的结果!高人啊,谢谢!
可有几个地方不明白,帮解释一下

call echo.a!n!=%%a!n!%%和call echo a!n!=%%a!n!%%(一点之差有什么不一样?)
还有为什么要写成%%a!n!%%?而不是!a%n%!?

2007-11-8 10:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:  

那个点的作用就是,如果后面的变量为空的话,就输入空行,没有这个点,就会输出“ECHO 处于关闭状态”。

如果是!a%n%!的话,%n%变量就没有被延迟了,还是一直等于0.

2007-11-8 10:42
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
cold1
新手上路





积分 3
发帖 2
注册 2007-4-1
状态 离线
『第 7 楼』:  

谢谢abcd,这个问题困惑我几天了。

2010-11-27 18:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: