我有一个文件夹里面有15个子文件夹Folder1,Folder2,Folder3等...每个子文件夹(Folder1,Folder2)都有2个或3个级别的子文件夹。每个文件夹都有一些.txt文件。我想创建一个批处理文件,可以为每个文件夹创建合并文件。
我可以使用像for %f in (*.txt) do type "%f" >> output.txt
这样的cmd命令来完成。
在上面的命令中,我需要打开15个不同的命令提示符窗口并运行上面的命令。
有没有什么方法可以像批处理文件那样以编程方式实现?
答案 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