合并所有子目录中具有相同名称的文本文件并保留其他子目录(删除重复行)

时间:2018-01-03 22:02:26

标签: batch-file

您好我有以下代码(Windows),当所有目录包含所有文件并且每个文件都获得其对应的匹配名称时,该代码运行良好。

@echo off
for /r "." %%a in (*.txt) do (
    echo %%~na
    type %%a >> %%~na-merged.txt
    for /f "delims=" %%I in (%%~na-merged.txt) do findstr /X /C:"%%I"   %%~na.txt >NUL ||(echo;%%I)>>%%~na.txt
    del %%~na-merged.txt
)

好吧,我的问题是我有100个txt文件,在几个目录中以前缀+日期命名,其中一些具有匹配的名称,有些则没有。我的目标是按名称对它们进行分组/合并,并将它们全部放在一个公共文件夹中。 它完成了,但我想知道如何在dos中设置if / else condictions。 THX

1 个答案:

答案 0 :(得分:0)

编辑:我已经进一步测试了上面的代码,现在看起来效果很好。问题仅在于包含空格的文件名。所以在运行之前只需要进行大量重命名。我关闭了这个问题,顺便说一下,任何进一步的评论都表示赞赏。