批处理文件删除前3行的csv文件

时间:2012-11-01 20:08:38

标签: batch-file

我正在寻找一种从CSV文件中删除前3行文本的方法,让我们使用批处理脚本调用report.csv。

我的CSV包含3个标题行

ReportName
Time
<blank line>

有谁知道我怎么能完成这个并且只是替换原始文件?

1 个答案:

答案 0 :(得分:2)

只要您拥有真正的CSV,而不是制表符分隔文件,那么以下内容应该有效。 (任何标签都将转换为8个空格)

@echo off
set "csv=test.csv"
more +3 "%csv%" >"%csv%.new"
move /y "%csv%.new" "%csv%" >nul

如果您的文件确实包含选项卡,并且您不需要保留空行,则以下内容将起作用,但速度较慢。

@echo off
set "csv=test.csv"
>"%csv%.new" (
  for /f skip^=3^ usebackq^ delims^=^ eol^= %%A in ("%csv%") do echo %%A
)
move /y "%csv%.new" "%csv%" >nul