中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 20:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何判断两文件的不同并输出到文件
楼 主 [已结]如何判断两文件的不同并输出到文件 发表于 2007-05-26 21:18 ·  中国 江苏 无锡 宜兴市 电信
中级用户
★★
积分 487
发帖 212
注册 2007-04-01 08:22
UID 83597
性别 男
状态 离线
我在所有的帖子了找比较两个文件的不同并输出结果,完全没找到需要的内容,万般无奈,只能发个帖子了,

思路是这样的,我想比较1.TXT和2.TXT两个文件的不同并把结果输出到3.TXT

我有比较不同的代码,但似乎没啥效果,只能比较出一个不同!

代码如下:
@echo off
:: 把两个文件中的不同之处提取到某个文件中去
:: code by jm 2006-9-9 CMD@XP
cd.>3.txt
for /f "tokens=1* delims=:" %%i in ('findstr /n . 1.txt') do (
for /f "tokens=1* delims=:" %%x in ('findstr /n . 2.txt') do (
if %%i equ %%x if not "%%j"=="%%y" (>>3.txt echo 1:%%j&>>3.txt echo 2:%%y&>>3.txt echo.)
)
)


这代码看的不是很明白,麻烦高手帮忙写个简单的,我记得好象有一个高手写了个简单的,但找不到啊!麻烦各位了,这问题困惑了我很久了..........


─────────────────── 版务记录 ────────────────────
执行:lxmxn
操作:修改主题标题
─────────────────── 版务记录 ────────────────────




问题已经彻底解决,特别感谢DOS联盟热情的朋友给予的热情帮助!


[ Last edited by luckboy45 on 2007-5-30 at 06:56 PM ]
2 发表于 2007-05-27 02:45 ·  中国 广东 东莞 电信
初级用户
积分 107
发帖 48
注册 2006-11-30 12:06
UID 72174
性别 男
状态 离线
fc 1.txt 2.txt>>3.txt
她希望我把粪土变黄金,我希望她视黄金如粪土!
3 试试是不是你需要的 发表于 2007-05-27 11:05 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
UID 74981
性别 男
状态 离线
在jm的基础上修改完成的

@echo off
:: 比较两个文本文件的不同写入3.txt
::code by qingfushuan 2007-05-28 cmd@xp
for /f %%i in ('findstr . 1.txt') do (
find "%%i" 2.txt || echo 1:%%i >>3.txt
)
for /f %%x in ('findstr . 2.txt') do (
find "%%x" 1.txt || echo 2:%%x >>3.txt
)
4 发表于 2007-05-27 19:56 ·  中国 江苏 无锡 电信
中级用户
★★
积分 487
发帖 212
注册 2007-04-01 08:22
UID 83597
性别 男
状态 离线
太感谢各位的帮忙了,我已经写出来了!特别感谢各位!~
5 发表于 2007-05-28 08:14 ·  中国 陕西 渭南 电信
初级用户
★★
积分 186
发帖 92
注册 2007-03-27 08:20
UID 83047
性别 男
状态 离线
最好的比较方法,可以显示行号

fc /u /n 1.txt 2.txt >3.txt
6 发表于 2007-05-28 09:30 ·  中国 四川 绵阳 江油市 电信
高级用户
★★★
积分 502
发帖 327
注册 2006-12-30 06:01
UID 74981
性别 男
状态 离线
你用fc比较试试下面的文件有不同吗
如:
1.txt
C:\temp\~DFDE1F.tmp
C:\temp\~DFE7DC.tmp
C:\temp\T30DebugLogFile.txt
C:\temp\~DF3B23.tmp
C:\temp\qmf
C:\temp\~DFD28B.tmp
C:\temp\np28.tmp
C:\temp\cch~6e99008c.htp

2.txt
C:\temp\~DFDE1F.tmp
C:\temp\cch~6e99008c.htp
C:\temp\~DFE7DC.tmp
C:\temp\T30DebugLogFile.txt
C:\temp\~DF3B23.tmp
C:\temp\qmf
C:\temp\~DFD28B.tmp
C:\temp\np28.tmp
C:\temp\cch~6e99008c.htp
7 发表于 2007-05-30 18:06 ·  中国 江苏 无锡 电信
中级用户
★★
积分 487
发帖 212
注册 2007-04-01 08:22
UID 83597
性别 男
状态 离线
实在是感谢各位的热情帮助,我已经做出来了

目前已经成功制作了个批处理查杀DLL木马的工具,如果需要玩玩,请来我签名下面的博

客留QQ吧!~感谢DOS联盟的各位朋友,我从这里学会了不少东西哈!嘿嘿!~
8 这个也可以吧 发表于 2009-06-08 17:10 ·  中国 广西 南宁 电信
新手上路
积分 6
发帖 6
注册 2008-12-25 22:28
UID 134925
性别 男
状态 离线
@echo off
echo\正在处理请稍等...&type nul>comp.txt
for /f %%a in ('type b.txt') do call :lp %%a
start comp.txt&goto :eof

:lp
for /f %%b in ('type cop.txt') do if %%b==%1 (goto :eof)
echo\%1>>comp.txt
9 发表于 2009-06-08 20:37 ·  中国 黑龙江 大庆 大庆中基石油通信建设有限公司
高级用户
★★
积分 547
发帖 261
注册 2006-04-15 16:50
UID 53887
状态 离线
你这个我作了实际测试,比不出来?为什么?
qingfushuan的比较结果的输出文件3.txt没有出现?
10 发表于 2009-06-09 03:37 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
我一般比较之前先用sort排序...
论坛跳转: