2017-08-12 237 views
-1

我试图创建一个在Windows 10上运行的.bat文件。 基本上,我在一个文件夹中有多个.csv文件。将.bat中的文本文件与文件之间的换行符合并

FileA.csv

abc,abc 
def,def 

FileB.csv

ghi,ghi 
jkl,jkl 

我要的文件将被合并到FileC.csv此格式。

abc,abc 
def,def 
ghi,ghi 
jkl,jkl 

如果我使用:

copy /b *.csv FileC.csv 

我FileC.csv得到如下的输出:

abc,abc 
def,defghi,ghi 
jkl,jkl 

我需要添加合并文件之间的换行符,但无法弄清楚怎么样。任何帮助,将不胜感激。

回答

0
type A.csv >> C.csv 
echo. >> C.csv 
type B.csv >> C.csv 
  1. 类型将呈现文件
  2. >>C.csv的内容将输出追加到existig文件
  3. echo.将打印一个空行

UPD

FOR %f IN (*.csv) DO type %f >> ..\newfile.csv & echo. >> ..\newfile.csv 

这将合并在新.csv文件中的所有.csv文件在父文件夹(如果是新的文件将是相同的文件夹中创建第一次迭代之后,还合并文件太)

+0

谢谢,这也正是我想要的。有没有办法做一个文件夹中的每个* .csv文件,或者我必须明确列出我想要合并的每个文件? –

+0

不客气。更新的答案。如果我的答案是你想要的,upvote并接受答案。 – tso

+0

确定这是工作很好,除了有一个换行符创建文件的结尾。我如何删除它? –

0

在CMD窗口,这将插入符和删除空行:

(for /f "delims=" %A in ('Type FileA.csv^&Echo:^&Type FileB.csv') Do @Echo %A)>FileC.csv 

在批处理

@Echo off 
(for /f "delims=" %%A in (
    'Type fileA.csv^&Echo:^&Type FileB.csv' 
) Do @Echo:%%A 
) > FileC.csv 
+0

我试过了,它仍然留下了一个空白行在创建的文件的末尾 –

相关问题