批处理命令合并csv行

时间:2017-07-12 12:44:39

标签: batch-file cmd

我的问题陈述。我有2个csv文件。我想将两个文件的前两行合并成一个。我运行我的代码,似乎我的第二个标头丢失,数据附加到第三行。

档案A:

A B 
1 2

档案B:

C D
3 4

预期结果:

A B C D
1 2 3 4

我的代码:

@echo off
cd /d "C:\my csv directory"
set first=true
setlocal enabledelayedexpansion
(for %%x in (*.csv) do (
if !first!==true (
type "%%x"
echo.
set first=false
) ELSE (
more +1 "%%x"
)
))> c:\destination\newfile.csv

结果失败:

a,b
1,2
3,4

1 个答案:

答案 0 :(得分:0)

要合并两个文件中的列,您可以阅读paralllel中的两个文件

:: Merge2Files.cmd FileA FileB
@Echo Off & SetLocal EnableDelayedExpansion
Set "FileA=FileA.txt"
Set "FileB=Fileb.txt"
<%FileB% (For /f "delims=" %%A in (%FileA%) Do (
    Set "B="&Set /P "B="
    Echo:%%A,!B!
)) >New-%FileA%