[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批量处理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  双出现重复了  要删掉

这样子清楚不的,如果不能全部的话,两个的合对法也行,有没有人帮我写,

先把所有的txt合并到一个大的txt里面,然后再去重,这样行吗?

TOP

回复 2# DAIC


    不行啦,我的原本文件都是很大,我都要分割后才能打开

TOP

本帖最后由 慕夜蓝化 于 2015-1-8 09:59 编辑
  1. @echo off
  2. for %%i in (*txt) do (
  3.     (for /f "usebackq" %%a in ("%%~i") do (
  4.         if not defined %%a echo,%%a&set "%%a=def"
  5.     )) >$β
  6.     move /y $β "%%i" >nul 2>nul
  7. )
  8. pause
复制代码
我这边测试通过,应该说误打误撞吧,因为我是为set 赋予变量,在for /f 分析其他的文件时而无法将变量设为空而烦恼。
但这个批处理同样会删除重复行,一开始他就是为删除重复行而存在的,如果你不想删除同一个文件中的重复
行,请不要使用。
这里默认只提取每一行以空格为分隔符的第一小节来进行判断的,对那些含有空格,以及非法字符的文件仍然无能为力。
默认分析当前文件下的所有txt文件,如果需要对子目录进行分析,则需要一些改动。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

返回列表