Board logo

标题: 批处理的比较两个文件的不同再输出成文件的问题 [打印本页]

作者: binghejin     时间: 2007-1-23 08:55    标题: 批处理的比较两个文件的不同再输出成文件的问题

现在有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行后面的内容就可以了,批处理应该怎样做呢?
作者: lxmxn     时间: 2007-1-23 11:28

findstr /v /g:reglist.txt bd-xp-sp2yh.txt >new.txt

作者: ccwan     时间: 2007-1-23 21:30
楼主是否想要输出这些呢?

  Quote:
KB873333
KB873339
KB885250
KB885835
KB885836
KB886185
KB886677
KB887472
KB887742
KB888113
KB888302
KB890047
KB890175
KB890859
KB890923
KB891781
KB893066
KB893086
KB893803


作者: binghejin     时间: 2007-1-23 23:06
对啊,就是要输出这些,先试下2楼的方法看看!谢谢!
作者: lxmxn     时间: 2007-1-24 01:32
  不好意思,误解了楼主的意思了,试试下面这个是否可以满足你的要求?
@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

作者: ccwan     时间: 2007-1-24 01:57
再附一段代码
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