楼 主
求助!两个文本比较
发表于 2011-01-05 15:33 · 中国 安徽 宿州 电信
初级用户
★
积分 32 发帖 32 注册 2010-10-29 05:31 15年会员 UID 176702 性别 男
状态 离线
现有两个文本a和b,内容如下
a.txt:
VCA486F2092
VCA486F2092
VCA486F2092b
VCA486F2092
VCA52142035
b.txt:
VCA48679115
VCA486F2092
VCA52142035
VCA52171114
现在我的目的是比较a和b,将b中有的而a中没有的输出保存在一个新的txt的文档内,比如VCA48679115,VCA52171114写入新的文本里
请高手帮忙
第 2 楼
发表于 2011-01-05 15:42 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
findstr /v /r /x /g:a.txt b.txt>c.txt
[
Last edited by Hanyeguxing on 2011-1-8 at 14:44 ]
第 3 楼
发表于 2011-01-06 15:16 · 中国 安徽 宿州 电信
初级用户
★
积分 32 发帖 32 注册 2010-10-29 05:31 15年会员 UID 176702 性别 男
状态 离线
谢谢寒夜兄!太感谢了, 但是你所说的方法只能将相同的找出来,我要的是不同的
[ Last edited by xyz1234111 on 2011-1-6 at 17:15 ]
第 4 楼
发表于 2011-01-08 14:20 · 中国 安徽 宿州 电信
初级用户
★
积分 32 发帖 32 注册 2010-10-29 05:31 15年会员 UID 176702 性别 男
状态 离线
第 5 楼
发表于 2011-01-08 14:45 · 中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
/v参数就是用来比较不同的,把/v去了才是比较相同
第 6 楼
发表于 2011-01-09 07:59 · 中国 广东 电信
初级用户
★
积分 86 发帖 45 注册 2007-07-26 17:35 19年会员 UID 94082 性别 男
状态 离线
不用外部命令
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
手机党,没测试
第 7 楼
发表于 2011-01-11 09:04 · 中国 广东 深圳 电信
初级用户
★
积分 32 发帖 32 注册 2010-10-29 05:31 15年会员 UID 176702 性别 男
状态 离线
RE:寒夜兄
你说的方法我测试过,还是达不到要求啊
RE:6楼
兄的方法好像只能比较第一行的
请你们在帮忙看看
第 8 楼
发表于 2011-01-11 10:32 · IANA 局域网IP(Private-Use)
新手上路
★
积分 1 发帖 1 注册 2011-01-08 11:18 15年会员 UID 180485 性别 男
状态 离线
findstr /v /r /x /g:a.txt b.txt>c.txt
確實可以做到
第 9 楼
发表于 2011-01-11 18:01 · 中国 安徽 宿州 电信
初级用户
★
积分 32 发帖 32 注册 2010-10-29 05:31 15年会员 UID 176702 性别 男
状态 离线
不好意思,上次测试失败了,但是这次测试又成功了,谢谢寒夜兄,太不好意思了
寒夜兄,能不能再请教个问题,
我有一堆TXT文档,在同一文件夹内,每个最大不超过1M,我想把这些TXT文档合并成每12M或者12M以下的文档,要求是不能有重复的合并的,随机合并就好了,请问能有办法实现吗?
[ Last edited by xyz1234111 on 2011-1-11 at 18:17 ]
第 10 楼
发表于 2011-01-11 18:33 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
1,什么是不重复的标准?文件名?文本里的内容?
2,超过12M就新建一个文件?
3,txt的编码是什么?
4,不包括子目录?
第 11 楼
发表于 2011-01-11 19:42 · 中国 广东 深圳 电信
初级用户
★
积分 32 发帖 32 注册 2010-10-29 05:31 15年会员 UID 176702 性别 男
状态 离线
就随机合并,文件名不重复,超过12M新建一个文件,TXT编码就是正常的编码,一般时候没有子目录,不过能够加上一个判断是否要子目录的就更好了,子目录里可能有重名文件
第 12 楼
发表于 2011-01-11 21:10 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
@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 ]
第 13 楼
发表于 2011-01-13 15:25 · 中国 安徽 宿州 电信
初级用户
★
积分 32 发帖 32 注册 2010-10-29 05:31 15年会员 UID 176702 性别 男
状态 离线
寒夜兄:
首先感谢你的回帖!
楼上的代码我测试过了,如果源文件一直存在的话这个代码会一直循环下去,比如说源文件里有每个大小为1.2M的TXT文件
1.txt
2.txt
.
.
100.txt
我需要的是任意10个文件合并一次,这10个合并过的源文件不参加下次的合并,这样就是我上面说的不重复合并了,能不能将已经复制过的文件排除呢?可以将源文件删除的
[ Last edited by xyz1234111 on 2011-1-13 at 15:31 ]
第 14 楼
发表于 2011-01-15 13:57 · 中国 湖北 武汉 电信
初级用户
★
beginner
积分 26 发帖 27 注册 2011-01-13 23:44 15年会员 UID 180774 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正