本帖最后由 慕夜蓝化 于 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文件,如果需要对子目录进行分析,则需要一些改动。 |