无忧启动论坛

标题: 用bat 对比2文本内容,给出相同与不同 [打印本页]

作者: 881966    时间: 2023-2-21 09:47
标题: 用bat 对比2文本内容,给出相同与不同
bat 对比包含特殊字符与超大的2文本内容,给出相同与不同,尽量不用第三方

特此求助坛友
作者: nttwqz    时间: 2023-2-21 10:32
用第三方多简单,担心商用版权问题可以用WinMerge,开源免费
作者: 2010techon    时间: 2023-2-21 10:58
直接用FC命令
作者: 窄口牛    时间: 2023-2-21 11:00
现在第三方就是没有智能一点的,重排序来比较,
打乱原文把相同的排在一起比较
作者: dos时代菜鸟    时间: 2023-2-21 11:06
本帖最后由 dos时代菜鸟 于 2023-2-21 11:07 编辑

用 for+if 是可以的,不知道两个文本文件 的相似度指标,比如 “a b c ” 与“abc”  算不算相同。

而且如果文件超大,效率可能会很慢。


作者: 881966    时间: 2023-2-21 11:49
dos时代菜鸟 发表于 2023-2-21 11:06
用 for+if 是可以的,不知道两个文本文件 的相似度指标,比如 “a b c ” 与“abc”  算不算相同。

而且 ...

不算相同,文本有特殊字符
作者: dos时代菜鸟    时间: 2023-2-21 14:36
881966 发表于 2023-2-21 11:49
不算相同,文本有特殊字符

fc 命令应该是比较合适的,
如果用 批处理 for+if 实现效率会很低。文件很大的话,逐行比对,需要循环比对多次,有多少行就要循环几次。效率太低。
作者: yyz2191958    时间: 2023-2-21 15:06
进来学习
作者: 黑中见白    时间: 2023-2-21 19:43
用powershell
哈希去重
作者: 黑中见白    时间: 2023-2-21 19:44
不同的,直接文本合并.多出来的就是不一样
作者: 黑中见白    时间: 2023-2-21 19:49
无盘天使lsmgr.7z (21.62 KB, 下载次数: 10) 4.查找出在a不在b中的文件

lsmgr sub list_a list_b


例子:


lsmgr sub aa.lst bb.lst > cc.lst



作者: xhxy2021    时间: 2023-2-21 21:33
进来学习一下




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3