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



嗨,我有以下代码(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 文件,在几个目录中以前缀 + date 命名,其中一些具有匹配的名称,有些则没有。我的目标是按名称对它们进行分组/合并,并将其全部放在一个公共文件夹中。它已经完成了,但是我错过了如何在dos中设置if/else指令。感谢

编辑:我已经进一步测试了上面的代码,现在看起来运行良好。问题仅与包含空格的文件名有关。因此,只需在运行它之前进行大规模重命名即可。我关闭了这个问题,顺便说一句,任何进一步的评论都值得赞赏。

相关内容

最新更新