如何合并几组文本文件

时间:2015-01-23 13:13:00

标签: batch-file merge

我有一个包含aprox的目录。带有数据的1500个文本文件。 我想将这些数据合并到几个集合中,因为每个测量数据总有24个集合。如machine1-00.csv ma​​chine1-01.csv ma​​chine1-03.csv等和machine2-00.csv ma​​chine2-01.csv ma​​chine2-03.csv。我想将machine1 * .csv中的所有数据合并到machine1.csv中,并将machine2 * .csv中的所有数据合并到machine2.csv中。命令copy /b machine1*.csv machine1.csv /y适用于一组,但如何处理1500台机器,每台机器有24个文件?

2 个答案:

答案 0 :(得分:0)

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

以下" merge.bat"文件应该做的工作:

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

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

)

只需创建一个名为" merge.bat"的文本文件(使用记事本)。将此内容放在csv文件的位置并运行merge.bat你应该没问题。

答案 1 :(得分:0)

使用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都不会在追加文件之间添加新行。