![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 05:28 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]读取文件内容到数组,这后输出的问题? |
| 可打印版本 1,387 / 6 |
| 第1楼 bxdonne | 发表于 2007-11-08 08:06 |
| 初级用户 发帖 11 积分 28 | |
|
[已结]读取文件内容到数组,这后输出的问题? @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 ] |
|
| 第2楼 abcd | 发表于 2007-11-08 08:58 |
| 银牌会员 发帖 739 积分 1,436 | |
|
set a%n%=%%i ‘在这里,没用!,所以n变量一直为0
echo a!n!=!a%n%! ’这里也有同样的问题 |
|
| 第3楼 bxdonne | 发表于 2007-11-08 10:00 |
| 初级用户 发帖 11 积分 28 | |
|
那应该怎么改啊?谢谢!
|
|
| 第4楼 abcd | 发表于 2007-11-08 10:23 |
| 银牌会员 发帖 739 积分 1,436 | |
|
是要这个结果吗?? |
|
| 第5楼 bxdonne | 发表于 2007-11-08 10:29 |
| 初级用户 发帖 11 积分 28 | |
|
是我想要的结果!高人啊,谢谢!
可有几个地方不明白,帮解释一下 call echo.a!n!=%%a!n!%%和call echo a!n!=%%a!n!%%(一点之差有什么不一样?) 还有为什么要写成%%a!n!%%?而不是!a%n%!? |
|
| 第6楼 abcd | 发表于 2007-11-08 10:42 |
| 银牌会员 发帖 739 积分 1,436 | |
|
那个点的作用就是,如果后面的变量为空的话,就输入空行,没有这个点,就会输出“ECHO 处于关闭状态”。
如果是!a%n%!的话,%n%变量就没有被延迟了,还是一直等于0. |
|
| 第7楼 cold1 | 发表于 2010-11-27 18:14 |
| 新手上路 发帖 2 积分 3 | |
|
谢谢abcd,这个问题困惑我几天了。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |