文件合并的批处理文件

时间:2017-07-25 21:19:32

标签: windows batch-file cmd

我有一个文件夹里面有15个子文件夹Folder1,Folder2,Folder3等...每个子文件夹(Folder1,Folder2)都有2个或3个级别的子文件夹。每个文件夹都有一些.txt文件。我想创建一个批处理文件,可以为每个文件夹创建合并文件。

我可以使用像for %f in (*.txt) do type "%f" >> output.txt这样的cmd命令来完成。

在上面的命令中,我需要打开15个不同的命令提示符窗口并运行上面的命令。

有没有什么方法可以像批处理文件那样以编程方式实现?

1 个答案:

答案 0 :(得分:0)

以下批处理将在Mainfolder的所有直接子文件夹中创建一个文件Merge.txt,其中包含此子文件夹及其下方的所有文本文件。 它为每个文本文件插入一个带有完整路径的Header,如果文件的最后一行没有以cr / lf结尾,则附加一个空行以避免连接行。

@Echo off
Set "MainFolder=C:\PathTo\wherever"
For /D %%A in ("%MainFolder%\*") do (
    For /F "Delims=" %%B in ('Dir /B/S "%%A\*.txt" 2^>NUL^|Find /V "Merge.txt"') Do (
       Echo ==== %%~fB ====
       Type "%%~fB"
       Echo:
    ) "
) > "%%~fA\Merge.txt