我正在寻找一种从CSV文件中删除前3行文本的方法,让我们使用批处理脚本调用report.csv。
我的CSV包含3个标题行
ReportName
Time
<blank line>
有谁知道我怎么能完成这个并且只是替换原始文件?
答案 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