楼 主
set 读取的问题
发表于 2007-01-18 00:46 · 中国 浙江 杭州 移动
新手上路
★
积分 8 发帖 3 注册 2007-01-16 00:18 19年会员 UID 76610 性别 男
状态 离线
有两个文件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 楼
发表于 2007-01-18 01:01 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
set 后面不能跟命令,只能跟变量的值,你这样赋值了(set a=sed -n '1p' 1.txt),当然a最后的值是sed -n '1p' 1.txt,set把后面的当字符串了,而不是命令执行的结果。
第 3 楼
发表于 2007-01-18 01:16 · 中国 浙江 杭州 移动
新手上路
★
积分 8 发帖 3 注册 2007-01-16 00:18 19年会员 UID 76610 性别 男
状态 离线
第 4 楼
发表于 2007-01-18 01:20 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
@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
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
beeny
+2
2007-01-20 07:24
第 5 楼
发表于 2007-01-18 08:35 · 中国 甘肃 平凉 电信
金牌会员
★★★★
积分 4,103 发帖 1,744 注册 2006-01-20 13:00 20年会员 UID 49241 性别 男 来自 甘肃.临泽
状态 离线
Originally posted by meteor1982 at 2007-1-18 01:16:
那怎么样才可以实现我的功能么?
结合for试试
第 6 楼
发表于 2007-01-19 02:53 · 中国 浙江 杭州 移动
新手上路
★
积分 8 发帖 3 注册 2007-01-16 00:18 19年会员 UID 76610 性别 男
状态 离线
谢谢楼上的两位,lxmxn的脚本已经可以实现
不过我还是不大明白
set a!b!=%%a 这句话是什么意思,多谢赐教^-^
[ Last edited by meteor1982 on 2007-1-18 at 01:57 PM ]
第 7 楼
发表于 2007-01-19 06:18 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
这个是依次赋值语句,把文件 1.txt 的第一行赋给变量 a1,把第二行赋给变量 a2,依次类推。
第 8 楼
发表于 2007-01-20 05:14 · 中国 安徽 芜湖 电信
高级用户
★★★
积分 866 发帖 415 注册 2005-12-04 11:19 20年会员 UID 46459
状态 离线
第 9 楼
发表于 2007-01-20 06:31 · 中国 陕西 汉中 电信
初级用户
★
积分 136 发帖 49 注册 2007-01-04 08:28 19年会员 UID 75413 性别 男
状态 离线
看了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 楼
发表于 2007-01-20 07:06 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
这个是清空result.txt文件的内容,如果没有result.txt文件,就建立它。
第 11 楼
发表于 2007-01-20 07:07 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
另外,9楼居然把我的用户名写成了LSMXN,汗一个。。。
第 12 楼
发表于 2007-01-20 07:24 · 中国 陕西 汉中 电信
初级用户
★
积分 136 发帖 49 注册 2007-01-04 08:28 19年会员 UID 75413 性别 男
状态 离线
哦对不起打错了!copy nul result.txt 是清空文本文件那2>nul 和 1>nul 又是啥意思?
第 13 楼
发表于 2007-01-20 07:39 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正