1

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

我的 CSV 包含 3 个标题行

ReportName
Time
<blank line>

有谁知道我怎么能做到这一点,只是替换原始文件?

4

1 回答 1

3

只要您有一个真正的 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
于 2012-11-01T21:16:40.930 回答