中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 00:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 比较两个千行以上TXT的差异行 查看 1,956 回复 20
16 发表于 2007-12-18 10:05 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
Originally posted by everest79 at 2007-12-18 00:31:
to ZJHJ

我试了,没问题
for /l %i in (1,1,50000) do echo test:\\//\\//abcedfghijklmnopqrstuvwxyz%i>>A.txt
copy a.txt b.txt
findstr /xg:b.txt a.txt >c.txt
你在findstr /vxg:b. ...


我的a.txt有544k,8100行. b.txt是a.txt复制并修改或增加一些内容,目的就是要

检查出被修改或增加的内容,所以a、b文件是不同的。

用你的方法同样是什么也没有。

(系统xp sp2)
17 发表于 2007-12-18 10:17 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
比如我的方法(程序有些复杂)得到的结果格式为:

以下是原始程序时间和已被(病毒或人为)修改的时间对比(单行为新增不确定有问题):(请另保存)

2004-08-30 16:13 C:\ProgramFiles\CommonFiles\ACDSystems\EN \294,912 Sync.exe
5004-08-30 16:13 C:\ProgramFiles\CommonFiles\ACDSystems\EN \294,912 Sync.exe

2004-10-06 14:01 C:\ProgramFiles\ACDSystems\ACDSee\7.0\9,560,064 ACDSee7.exe

2006-11-01 21:11 C:\ProgramFiles\CommonFiles\Real\Update_OB\184,366 r1puninst.exe
2006-11-06 21:11 C:\ProgramFiles\CommonFiles\Real\Update_OB\184,366 r1puninst.exe
18 发表于 2007-12-18 10:49 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
zjhj
我实验的是findstr命令可以支持3MB以下50000行的查找源来搜索同样大小文件,并不存在你说的文件过大问题
而C.txt没有内容,我怀疑是两个文件相同,你又在findstr命令中启用了/v参数
至于你的应用,按你所讲的,用fc的话不但不能得到精确的值,而且会让代码复杂化
19 发表于 2007-12-18 12:19 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
这就奇怪了,上面的方法,我都一一实验过,什么参数也没有加.

得到的结果都是:搜索的字符窜太长!

其实我也想用最简单的命令,时间最快的.
20 发表于 2007-12-18 12:32 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
可能是你生成的文件列表含有特殊字符或某一行的长度超出了限制
21 发表于 2007-12-18 13:25 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
: 列出B文件有A文件没有的行
findstr /vg:a.txt b.txt>ccc.txt
测试A文件602KB 11000行 B文件435KB 5000行
测试通过!并不是你说的 “我看你们也没有试过!”
简单!简单!再简单!
论坛跳转: