中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 06:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何比较两文件将不同的两行另外输出到文本呢? 查看 807 回复 3
楼 主 [已结]如何比较两文件将不同的两行另外输出到文本呢? 发表于 2007-10-29 21:15 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
如何写一个vbs,比较两文件将不同的两行另外输出到文本呢?

新文本如下:
第 N 行的异处:

"a文本的某行"
"b文本的某行"


第 N 行的异处:

"a文本的某行"
"b文本的某行"


...
a文件已读完(/b文件已读完),b文件剩余N行不进行比较(/a文件剩余N行不进行比较)

[ Last edited by huzixuan on 2007-10-30 at 08:08 PM ]
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
2 发表于 2007-10-30 09:12 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
19年会员
UID 73417
性别 男
状态 离线
a文件每一行用数组a(n),b文件每一行用数组b(n),然后比较输出
3 发表于 2007-10-30 09:21 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
19年会员
UID 73417
性别 男
状态 离线

set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile("a.txt")
na=file.readall
file.close
set file=fso.opentextfile("b.txt")
nb=file.readall
file.close
sa=split(na,vbcrlf):la=ubound(sa)
sb=split(nb,vbcrlf):lb=ubound(sb)
if la<lb then
for i=0 to la
if sa(i)<>sb(i) then
sn=sn & sa(i) & vbcrlf & sb(i) & vbcrlf
end if
next
else
for i=0 to lb
if sa(i)<>sb(i) then
sn=sn & sa(i) & vbcrlf & sb(i) & vbcrlf
end if
next
end if
wscript.echo sn
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
huzixuan +4 2007-10-30 20:07
4 发表于 2007-10-30 10:48 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
数组的下标有没有最大值??
论坛跳转: