中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 05:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理的比较两个文件的不同再输出成文件的问题 查看 901 回复 5
楼 主 批处理的比较两个文件的不同再输出成文件的问题 发表于 2007-01-23 08:55 ·  中国 新疆 克拉玛依 电信
初级用户
积分 48
发帖 19
注册 2006-12-27 09:31
19年会员
UID 74692
性别 男
状态 离线
现在有2个文本文件

reglist.txt文件内容
KB834707
KB867282
KB873333
KB873339
KB885250
KB885835
KB885836
KB886185
KB886677
KB887472
KB887742
KB888113
KB888302
KB890047
KB890175
KB890859
KB890923
KB891781
KB893066
KB893086
KB893803



bd-xp-sp2yh.txt文件内容
Windows-KB834707-x86-chs.ccc
Windows-KB867282-x86-chs.ccc


目的:比较2个文件的不同处,例如,bd-xp-sp2yh.txt文件中就包含了reglist.txt文件中的前2行的内容,那么将来输出的时候这两行的内容就不要了,只要前2行后面的内容就可以了,批处理应该怎样做呢?
2 发表于 2007-01-23 11:28 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

findstr /v /g:reglist.txt bd-xp-sp2yh.txt >new.txt
3 发表于 2007-01-23 21:30 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
楼主是否想要输出这些呢?


KB873333
KB873339
KB885250
KB885835
KB885836
KB886185
KB886677
KB887472
KB887742
KB888113
KB888302
KB890047
KB890175
KB890859
KB890923
KB891781
KB893066
KB893086
KB893803
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
4 发表于 2007-01-23 23:06 ·  中国 新疆 克拉玛依 电信
初级用户
积分 48
发帖 19
注册 2006-12-27 09:31
19年会员
UID 74692
性别 男
状态 离线
对啊,就是要输出这些,先试下2楼的方法看看!谢谢!
5 发表于 2007-01-24 01:32 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
  不好意思,误解了楼主的意思了,试试下面这个是否可以满足你的要求?

@echo off
set file=%random%
for /f "delims=" %%a in (reglist.txt) do (
findstr "%%a" bd-xp-sp2yh.txt >nul 2>nul||>>%file% echo=%%a
)
notepad.exe %file%
rem del %file%
exit/b0
6 发表于 2007-01-24 01:57 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
再附一段代码
for /f "tokens=2 delims=-" %%a in (bd-xp-sp2yh.txt) do @echo %%a>>test.txt
findstr /v /g:test.txt reglist.txt>>new.txt
del test.txt
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
论坛跳转: