使用批处理命令加入每个文件夹内的文件

join files inside every folder using batch command

我有 10-20 个目录,每个文件夹中都有一些文件。
我想将每个文件夹中的每包文件加入一个文件,所以如果我有 20 个文件夹和 2300 个文件,我想要 20 个加入的文件。

例子

INPUT

folder1 - 500 files
folder2 - 340 files
folder3 - 5 files

OUTPUT REQUEST
folder1.txt (500 joined files)
folder2.txt (340 joined files)
folder3.txt (5 joined files)

但是我有很多文件夹,所以我试图找到一个 .bat 命令来自动创建这个操作。

视频:what i want

假设您的每个文件都是文本文件,每行末尾都有换行符,那么您可以使用以下内容:

for %%F in ("folder1" "folder2" "folder3") do >"%%F.txt" type "%%~F\*"

每个文件的名称将通过标准错误输出到屏幕。

如果要隐藏文件名:

for %%F in ("folder1" "folder2" "folder3") do >"%%F.txt" 2>nul type "%%~F\*"

如果您希望文件名包含在文本文件输出中:

for %%F in ("folder1" "folder2" "folder3") do >"%%F.txt" 2>&1 type "%%~F\*"

如果您想处理当前目录中的所有文件夹,则将上面列出的任何命令的 FOR 命令更改为如下所示:

for /D %%F in (*) do ...