标题: [文本处理] 批量处理TXT文件里的重复求帮忙写个 [打印本页]
作者: 160377 时间: 2015-1-7 20:16 标题: 批量处理TXT文件里的重复求帮忙写个
怎样在文件夹里的很多TXT文件处理重复的删掉,合对所有TXT文本里的内容有没有重复
就是说在文件夹里面,1.txt , 2.txt , 3.txt ~~~很多TXT的文件,重命名什么都有的,
就是想批量批理这所有txt里面的重复,如果有重复就删掉
1.txt 里面内容有
123
222
44
33
33
2.txt 里面内容有
555
666
123 出现重复了 要删掉
44 出现重复了 要删掉
3.txt 里面内容有
777
888
999
44 双出现重复了 要删掉
123 双出现重复了 要删掉
这样子清楚不的,如果不能全部的话,两个的合对法也行,有没有人帮我写,
作者: DAIC 时间: 2015-1-7 22:20
先把所有的txt合并到一个大的txt里面,然后再去重,这样行吗?
作者: 160377 时间: 2015-1-7 22:40
回复 2# DAIC
不行啦,我的原本文件都是很大,我都要分割后才能打开
作者: 慕夜蓝化 时间: 2015-1-8 09:46
本帖最后由 慕夜蓝化 于 2015-1-8 09:59 编辑
- @echo off
- for %%i in (*txt) do (
- (for /f "usebackq" %%a in ("%%~i") do (
- if not defined %%a echo,%%a&set "%%a=def"
- )) >$β
- move /y $β "%%i" >nul 2>nul
- )
- pause
复制代码
我这边测试通过,应该说误打误撞吧,因为我是为set 赋予变量,在for /f 分析其他的文件时而无法将变量设为空而烦恼。
但这个批处理同样会删除重复行,一开始他就是为删除重复行而存在的,如果你不想删除同一个文件中的重复
行,请不要使用。
这里默认只提取每一行以空格为分隔符的第一小节来进行判断的,对那些含有空格,以及非法字符的文件仍然无能为力。
默认分析当前文件下的所有txt文件,如果需要对子目录进行分析,则需要一些改动。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |