2012-11-01 110 views
0

我正在尋找一種方法來從CSV文件中刪除前3行文本,讓我們用批處理腳本調用report.csv。批處理文件刪除前3行csv文件

我的CSV包含3個標題行

ReportName 
Time 
<blank line> 

沒有人知道我可以做到這一點,只是替換原文件?

回答

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 
+0

http://superuser.com/questions/425122/set-the-tab-length-in-cmd-exe – djangofan

+0

謝謝,第一個非常完美 – Brad