Batch file 附加/创建CSV文件

Batch file 附加/创建CSV文件,batch-file,Batch File,我有带标题的管道分隔符文本文件,有多个列,第一列表示csv文件名,我想从第2列开始将数据附加到csv文件,如果csv文件不存在,请创建带标题的新文件 col1|col2|col3|col4|col5 toll1|12042014|xxxx|xxxx|xxxxx toll2|13042014|xxxx|xxxx|xxxxx csv file [toll1.csv] col2|col3|col4|col5 12042014|xxxx|xxxx|xxxxx csv file [tol

我有带标题的管道分隔符文本文件,有多个列,第一列表示csv文件名,我想从第2列开始将数据附加到csv文件,如果csv文件不存在,请创建带标题的新文件

 col1|col2|col3|col4|col5
 toll1|12042014|xxxx|xxxx|xxxxx
 toll2|13042014|xxxx|xxxx|xxxxx

 csv file [toll1.csv]
 col2|col3|col4|col5
 12042014|xxxx|xxxx|xxxxx

 csv file [toll2.csv]
 col2|col3|col4|col5
 13042014|xxxx|xxxx|xxxxx
试试这个

@echo off
setlocal ENABLEDELAYEDEXPANSION
set headerRow=
for /f "tokens=1,* delims=^|" %%a in (tolls.csv) do (
    if not defined headerRow (
        set headerRow=%%b
    ) else (
        if not exist "%%a.csv" echo !headerRow!>>"%%a.csv"
        echo %%b>>"%%a.csv"
    )
)
endlocal

从命令行的
For/F“tokens=1-5 delims=^|%G in(tolls.csv)do@echo%G%H%I%J%K开始(要在“.bat”批中运行,您应该将所有%s符号加倍:使用%%G等)。然后您可以将结果更改为将
tokens=1-5
更改为
tokens=1*
等。请注意
delims=^ |
中的转义管道。请随时用实际成绩更新您的问题,并提出更多问题,以防您在某个问题上出现问题。Hi@ @ USER 738 64。如果这个答案已经解决了你的问题,请考虑通过点击复选标记接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。