如何合并几组文本文件

How to merge several sets of text files

我有一个包含 aprox 的目录。 1500 个带有数据的文本文件。 我想将这些数据合并成几组,因为每个测量数据总是有 24 组。像 machine1-00.csv machine1-01.csv machine1-03.csv 等和 machine2-00.csv machine2-01.csv machine2-03.csv 等。我想将 machine1*.csv 中的所有数据合并到 machine1.csv 中,并将 machine2*.csv 中的所有数据合并到 machine2.csv 中。命令copy /b machine1*.csv machine1.csv /y对一套没问题,但是对1500台机器每台24个文件怎么办?

我认为最简单的解决方案是创建一个小的 Windows 批处理脚本,它在 1 到 24 的范围内迭代。对于范围内的每个值,脚本都会调用相应的复制指令.

下面的 "merge.bat" 文件应该可以完成这项工作:

@echo off
FOR /L %%i IN (1, 1, 24) DO (

copy /b machine%%i*.csv machine%%i.csv /y

)

只需在您的 csv 文件位置创建一个名为 "merge.bat" 的文本文件(使用记事本),然后 运行 merge.bat 您应该没问题。

使用 type machine1*.csv 并使用 > 将输出重定向到 newfile.csv。像这样:

@echo off
setlocal

for /L %%I in (1,1,63) do (
    >merged%%I.csv type machine%%I*.csv
    ren merged%%I.csv machine%%I.csv
)

将 63 更改为最大的数字。您可以编写最大数量的检测脚本,但这更容易。

如果您的 CSV 文件没有以新行结尾,则需要更多注意此问题,因为 copy /btype 都不会在附加文件之间追加新行。