中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 03:26
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » set 读取的问题
可打印版本  1,038 / 12
第1楼 meteor1982 发表于 2007-01-18 00:46
新手上路 发帖 3 积分 8
set 读取的问题
有两个文件1.txt , 2.txt
1.txt为
9
1
2
2.txt为
8
6
1

我想生成一个文件,结果是这两个文件的相应行的相加值
结果为
17
7
3
我的想法是把txt中每行的值设成参数,然后相加后输出
set a=sed -n '1p' 1.txt
set b=sed -n '2p' 1.txt
…………
但是 这样子设置后a的值没有变成9,而是sed -n '1p' 1.txt.请问一下set 后面加命令的话应该怎么写才能实现我想要的功能?
第2楼 lxmxn 发表于 2007-01-18 01:01
版主 发帖 4,938 积分 11,386

  set 后面不能跟命令,只能跟变量的值,你这样赋值了(set a=sed -n '1p' 1.txt),当然a最后的值是sed -n '1p' 1.txt,set把后面的当字符串了,而不是命令执行的结果。
第3楼 meteor1982 发表于 2007-01-18 01:16
新手上路 发帖 3 积分 8
那怎么样才可以实现我的功能么?
第4楼 lxmxn 发表于 2007-01-18 01:20
版主 发帖 4,938 积分 11,386
第5楼 vkill 发表于 2007-01-18 08:35
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by meteor1982 at 2007-1-18 01:16:
那怎么样才可以实现我的功能么?

结合for试试
第6楼 meteor1982 发表于 2007-01-19 02:53
新手上路 发帖 3 积分 8
谢谢楼上的两位,lxmxn的脚本已经可以实现
不过我还是不大明白
set a!b!=%%a 这句话是什么意思,多谢赐教^-^

[ Last edited by meteor1982 on 2007-1-18 at 01:57 PM ]
第7楼 lxmxn 发表于 2007-01-19 06:18
版主 发帖 4,938 积分 11,386
  这个是依次赋值语句,把文件 1.txt 的第一行赋给变量 a1,把第二行赋给变量 a2,依次类推。
第8楼 htysm 发表于 2007-01-20 05:14
高级用户 发帖 415 积分 866
楼主给高人送分吧。
第9楼 beeny 发表于 2007-01-20 06:31
初级用户 发帖 49 积分 136
看了LXMXN的解释:b!b!=%%a 就像VB里面的数组一样是下标!
但是还有一句不知道是啥意思?有何意义?
copy nul result.txt 2>nul 1>nul
请LSMXN不怜赐教!

[ Last edited by beeny on 2007-1-19 at 05:46 PM ]
第10楼 lxmxn 发表于 2007-01-20 07:06
版主 发帖 4,938 积分 11,386

  这个是清空result.txt文件的内容,如果没有result.txt文件,就建立它。
第11楼 lxmxn 发表于 2007-01-20 07:07
版主 发帖 4,938 积分 11,386

  另外,9楼居然把我的用户名写成了LSMXN,汗一个。。。
第12楼 beeny 发表于 2007-01-20 07:24
初级用户 发帖 49 积分 136
哦对不起打错了!copy nul result.txt 是清空文本文件那2>nul 和 1>nul 又是啥意思?
第13楼 lxmxn 发表于 2007-01-20 07:39
版主 发帖 4,938 积分 11,386
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023