中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求助!两个文本比较 上一主题 | 下一主题
xyz1234111
初级用户





积分 32
发帖 32
注册 2010-10-29
状态 离线
『楼 主』:  求助!两个文本比较

现有两个文本a和b,内容如下
a.txt:
VCA486F2092
VCA486F2092
VCA486F2092b
VCA486F2092
VCA52142035
b.txt:
VCA48679115
VCA486F2092
VCA52142035
VCA52171114
现在我的目的是比较a和b,将b中有的而a中没有的输出保存在一个新的txt的文档内,比如VCA48679115,VCA52171114写入新的文本里

请高手帮忙

2011-1-5 15:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  


findstr /v /r /x /g:a.txt b.txt>c.txt
[ Last edited by Hanyeguxing on 2011-1-8 at 14:44 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2011-1-5 15:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xyz1234111
初级用户





积分 32
发帖 32
注册 2010-10-29
状态 离线
『第 3 楼』:  

谢谢寒夜兄!太感谢了, 但是你所说的方法只能将相同的找出来,我要的是不同的

[ Last edited by xyz1234111 on 2011-1-6 at 17:15 ]

2011-1-6 15:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xyz1234111
初级用户





积分 32
发帖 32
注册 2010-10-29
状态 离线
『第 4 楼』:  

还有人么,来看看吧,不然就沉了..

2011-1-8 14:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 5 楼』:  

/v参数就是用来比较不同的,把/v去了才是比较相同



批处理之家 http://bbs.bathome.net/forum-5-1.html
2011-1-8 14:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
greenworld
初级用户





积分 86
发帖 45
注册 2007-7-26
状态 离线
『第 6 楼』:  

不用外部命令
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
手机党,没测试

2011-1-9 07:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xyz1234111
初级用户





积分 32
发帖 32
注册 2010-10-29
状态 离线
『第 7 楼』:  

RE:寒夜兄
         你说的方法我测试过,还是达不到要求啊
RE:6楼
         兄的方法好像只能比较第一行的
请你们在帮忙看看

2011-1-11 09:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JGIMO
新手上路





积分 1
发帖 1
注册 2011-1-8
状态 离线
『第 8 楼』:  

findstr /v /r /x /g:a.txt b.txt>c.txt

確實可以做到

2011-1-11 10:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xyz1234111
初级用户





积分 32
发帖 32
注册 2010-10-29
状态 离线
『第 9 楼』:  

不好意思,上次测试失败了,但是这次测试又成功了,谢谢寒夜兄,太不好意思了
寒夜兄,能不能再请教个问题,
我有一堆TXT文档,在同一文件夹内,每个最大不超过1M,我想把这些TXT文档合并成每12M或者12M以下的文档,要求是不能有重复的合并的,随机合并就好了,请问能有办法实现吗?

[ Last edited by xyz1234111 on 2011-1-11 at 18:17 ]

2011-1-11 18:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 10 楼』:  

1,什么是不重复的标准?文件名?文本里的内容?
2,超过12M就新建一个文件?
3,txt的编码是什么?
4,不包括子目录?



批处理之家 http://bbs.bathome.net/forum-5-1.html
2011-1-11 18:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xyz1234111
初级用户





积分 32
发帖 32
注册 2010-10-29
状态 离线
『第 11 楼』:  

就随机合并,文件名不重复,超过12M新建一个文件,TXT编码就是正常的编码,一般时候没有子目录,不过能够加上一个判断是否要子目录的就更好了,子目录里可能有重名文件

2011-1-11 19:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 12 楼』:  


@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 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2011-1-11 21:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xyz1234111
初级用户





积分 32
发帖 32
注册 2010-10-29
状态 离线
『第 13 楼』:  

寒夜兄:
      首先感谢你的回帖!
      楼上的代码我测试过了,如果源文件一直存在的话这个代码会一直循环下去,比如说源文件里有每个大小为1.2M的TXT文件
1.txt
2.txt
.
.
100.txt
我需要的是任意10个文件合并一次,这10个合并过的源文件不参加下次的合并,这样就是我上面说的不重复合并了,能不能将已经复制过的文件排除呢?可以将源文件删除的

[ Last edited by xyz1234111 on 2011-1-13 at 15:31 ]

2011-1-13 15:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
modestleaner
初级用户

beginner



积分 26
发帖 27
注册 2011-1-13
状态 离线
『第 14 楼』:  

感谢楼上各位,新人学习了。

2011-1-15 13:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: