中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: set 读取的问题 上一主题 | 下一主题
meteor1982
新手上路





积分 8
发帖 3
注册 2007-1-16
状态 离线
『楼 主』:  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 后面加命令的话应该怎么写才能实现我想要的功能?

2007-1-18 00:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


  set 后面不能跟命令,只能跟变量的值,你这样赋值了(set a=sed -n '1p' 1.txt),当然a最后的值是sed -n '1p' 1.txt,set把后面的当字符串了,而不是命令执行的结果。


2007-1-18 01:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
meteor1982
新手上路





积分 8
发帖 3
注册 2007-1-16
状态 离线
『第 3 楼』:  

那怎么样才可以实现我的功能么?

2007-1-18 01:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  


@echo off&Setlocal EnableDelayedExpansion
set b=0
copy nul result.txt 2>nul 1>nul
for /f %%a in (1.txt) do (
        set a!b!=%%a
        set /a b+=1
)
set b=0
for /f %%b in (2.txt) do (
        set b!b!=%%b
        set /a b+=1
)
set /a d=%b%-1
for /l %%c in (0,1,%d%) do (
        set /a c=a%%c+b%%c
        echo=!c!
        >>result.txt echo=!c!
)
start result.txt
exit/b0


   此帖被 +2 点积分    点击查看详情   
评分人:【 beeny 分数: +2  时间:2007-1-20 07:24


2007-1-18 01:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by meteor1982 at 2007-1-18 01:16:
那怎么样才可以实现我的功能么?

结合for试试

2007-1-18 08:35
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
meteor1982
新手上路





积分 8
发帖 3
注册 2007-1-16
状态 离线
『第 6 楼』:  

谢谢楼上的两位,lxmxn的脚本已经可以实现
不过我还是不大明白
set a!b!=%%a 这句话是什么意思,多谢赐教^-^

[ Last edited by meteor1982 on 2007-1-18 at 01:57 PM ]

2007-1-19 02:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  

  这个是依次赋值语句,把文件 1.txt 的第一行赋给变量 a1,把第二行赋给变量 a2,依次类推。

2007-1-19 06:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
htysm
高级用户




积分 866
发帖 415
注册 2005-12-4
状态 离线
『第 8 楼』:  

楼主给高人送分吧。

2007-1-20 05:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beeny
初级用户





积分 136
发帖 49
注册 2007-1-4
状态 离线
『第 9 楼』:  

看了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 ]

2007-1-20 06:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  


  这个是清空result.txt文件的内容,如果没有result.txt文件,就建立它。


2007-1-20 07:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 11 楼』:  


  另外,9楼居然把我的用户名写成了LSMXN,汗一个。。。


2007-1-20 07:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beeny
初级用户





积分 136
发帖 49
注册 2007-1-4
状态 离线
『第 12 楼』:  

哦对不起打错了!copy nul result.txt 是清空文本文件那2>nul 和 1>nul 又是啥意思?

2007-1-20 07:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 13 楼』:  


http://www.cn-dos.net/forum/view ... ght=2%3Enul%2Blxmxn  
  看这个帖子的7楼的解释。


2007-1-20 07:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: