标题: 求助!两个文本比较
[打印本页]
作者: xyz1234111
时间: 2011-1-5 15:33
标题: 求助!两个文本比较
现有两个文本a和b,内容如下
a.txt:
VCA486F2092
VCA486F2092
VCA486F2092b
VCA486F2092
VCA52142035
b.txt:
VCA48679115
VCA486F2092
VCA52142035
VCA52171114
现在我的目的是比较a和b,将b中有的而a中没有的输出保存在一个新的txt的文档内,比如VCA48679115,VCA52171114写入新的文本里
请高手帮忙
作者: Hanyeguxing
时间: 2011-1-5 15:42
findstr /v /r /x /g:a.txt b.txt>c.txt
[
Last edited by Hanyeguxing on 2011-1-8 at 14:44 ]
作者: xyz1234111
时间: 2011-1-6 15:16
谢谢寒夜兄!太感谢了, 但是你所说的方法只能将相同的找出来,我要的是不同的
[
Last edited by xyz1234111 on 2011-1-6 at 17:15 ]
作者: xyz1234111
时间: 2011-1-8 14:20
还有人么,来看看吧,不然就沉了..
作者: Hanyeguxing
时间: 2011-1-8 14:45
/v参数就是用来比较不同的,把/v去了才是比较相同
作者: greenworld
时间: 2011-1-9 07:59
不用外部命令
for /f "delims=" %%i in (a.txt) do set "%%i=OK"
for /f "delims=" %%i in (b.txt) do if not defined %%i echo %%i>>c.txt
手机党,没测试
作者: xyz1234111
时间: 2011-1-11 09:04
RE:寒夜兄
你说的方法我测试过,还是达不到要求啊
RE:6楼
兄的方法好像只能比较第一行的
请你们在帮忙看看
作者: JGIMO
时间: 2011-1-11 10:32
findstr /v /r /x /g:a.txt b.txt>c.txt
確實可以做到
作者: xyz1234111
时间: 2011-1-11 18:01
不好意思,上次测试失败了,但是这次测试又成功了,谢谢寒夜兄,太不好意思了
寒夜兄,能不能再请教个问题,
我有一堆TXT文档,在同一文件夹内,每个最大不超过1M,我想把这些TXT文档合并成每12M或者12M以下的文档,要求是不能有重复的合并的,随机合并就好了,请问能有办法实现吗?
[
Last edited by xyz1234111 on 2011-1-11 at 18:17 ]
作者: Hanyeguxing
时间: 2011-1-11 18:33
1,什么是不重复的标准?文件名?文本里的内容?
2,超过12M就新建一个文件?
3,txt的编码是什么?
4,不包括子目录?
作者: xyz1234111
时间: 2011-1-11 19:42
就随机合并,文件名不重复,超过12M新建一个文件,TXT编码就是正常的编码,一般时候没有子目录,不过能够加上一个判断是否要子目录的就更好了,子目录里可能有重名文件
作者: Hanyeguxing
时间: 2011-1-11 21:10
@echo off&setlocal enableDelayedExpansion
set/a a=1024*1024*12,b=1
set "c=输出路径"
for /r "源文件所在路径" %%a in (*.txt) do (
for %%b in ("%c%\!b!.txt") do set/a d=%%~zb+%%~za
if !d! gtr %a% set/a b+=1
type "%%~fa">>"%c%\!b!.txt"
)
[
Last edited by Hanyeguxing on 2011-1-11 at 21:11 ]
作者: xyz1234111
时间: 2011-1-13 15:25
寒夜兄:
首先感谢你的回帖!
楼上的代码我测试过了,如果源文件一直存在的话这个代码会一直循环下去,比如说源文件里有每个大小为1.2M的TXT文件
1.txt
2.txt
.
.
100.txt
我需要的是任意10个文件合并一次,这10个合并过的源文件不参加下次的合并,这样就是我上面说的不重复合并了,能不能将已经复制过的文件排除呢?可以将源文件删除的
[
Last edited by xyz1234111 on 2011-1-13 at 15:31 ]
作者: modestleaner
时间: 2011-1-15 13:57
感谢楼上各位,新人学习了。