Board logo

标题: [文本处理] 【已解决】批处理如何对比出两个文本差异/不同的内容/地方并提取出相应的内容区域? [打印本页]

作者: enoone1    时间: 2016-5-26 00:12     标题: 【已解决】批处理如何对比出两个文本差异/不同的内容/地方并提取出相应的内容区域?

求助各路大神,如题,BAT实现新老文件比对(如内容新增,删除,修改等等),提取差异文本区域(如本例固定以---------------------------划分各个区域)
在最新文件基础上提取,本例中即基于NEW.txt提取),
文本样例及预期结果文件(本例预期结果文件:DIFF.txt)见下例附件:
作者: pcl_test    时间: 2016-5-26 20:45

本帖最后由 pcl_test 于 2016-5-26 21:51 编辑
  1. //&cls&cscript -nologo -e:jscript "%~f0" "new.txt" "old.txt"&pause&exit
  2. var t = {};
  3. var fso = new ActiveXObject('Scripting.FileSystemObject');
  4. var newtxt = fso.OpenTextFile(WSH.Arguments(0));
  5. var n = newtxt.ReadAll().replace(/[\r\n]+$/, '').split(/(\r\n){2,}/);
  6. var oldtxt = fso.OpenTextFile(WSH.Arguments(1));
  7. var o = oldtxt.ReadAll().replace(/[\r\n]+$/, '').split(/(\r\n){2,}/);
  8. for(var i=0; i<o.length; i++){
  9.     if(!t[o[i]])t[o[i]]=1;
  10. }
  11. for(var i=0; i<n.length; i++){
  12.     if(!t[n[i]])WSH.echo(n[i]+'\r\n');
  13. }
复制代码

作者: enoone1    时间: 2016-5-30 00:04

膜拜版主




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2