中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 02:29
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理中能否定义数组?
可打印版本  1,462 / 6
第1楼 qdcr 发表于 2006-06-22 16:24
初级用户 发帖 32 积分 120
批处理中能否定义数组?
遇到如下的一个需求:
解析文件中的每一行,希望使用变量将文件中的每一行保存起来,因为不知道文件中有多少行,所以变量个数是动态的。请问怎么解决这种问题,谢谢
第2楼 kcdsw 发表于 2006-06-22 16:45
中级用户 发帖 179 积分 404
好像不行吧
第3楼 namejm 发表于 2006-06-22 22:50
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  好象CMD中变量的个数是有限制的吧?好象和内存有关系来着?

  另外,如果要把每一行保存起来,那么,你想解决什么问题呢?或许说出来之后,大家帮你想想办法,没必要用那么多的变量呢。既然提到了解析文件,那么,for语句应该派得上用场。
第4楼 qdcr 发表于 2006-06-23 13:40
初级用户 发帖 32 积分 120
谢谢,是这样的一个需求:
文件中每一行记录一个软件名称,程序首先要求用户输入每个软件的安装目录,并验证用户输入的路径是否有效,全部都有效的话,才继续在用户输入的各个目录下建立一个backup的文件夹。
请注意:用户先进行软件安装路径的输入,然后进行一个完全的per-check,用户输入的路径都有效,才在用户输入的各个安装路径中进行创建backup文件夹的动作。
比如:文件中记录:
MSN
QQ

请输入MSN的安装路径: C:\program files\MSN
验证是否有效
请输入QQ的安装路径: C:\program files\QQ
验证是否有效

都有效--->在MSN 和 QQ的安装目录下创建backup文件夹。

难点在于:文件中包含的软件个数是不定的,必须遍历,而且必须记录用户输入的各个软件的安装路径。
请教各位大侠

[ Last edited by qdcr on 2006-6-23 at 13:51 ]
第5楼 qdcr 发表于 2006-06-23 16:13
初级用户 发帖 32 积分 120
自己顶一下
第6楼 3742668 发表于 2006-06-23 17:48
荣誉版主 发帖 718 积分 2,013
Well,qdcr可能考虑得太复杂了吧,在这个例子中其实并不需要把文件每一行的内容保存下来,只需要简单地使用for语句的文本处理方面的功能似乎就可以完成任务了:

当然,在批处理中将文件每行的内容都保存下来也不是不行:

在最后,还是想说的是:用批处理来处理文本内容的时候还是很麻烦的,上面的脚本并没有做更多的出错检测及处理。当文本文件的内容中包含有&,|,&&,||等特殊字符时,还是很可能引起错误的,如果你的要求比较高可以自己尝试加入一些判断并处理错误的语句。
第7楼 fykenny 发表于 2008-12-31 16:40
新手上路 发帖 1 积分 1
哈哈,好东西,学习了.版主真厉害
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023