2
我正在處理一個批處理文件,將多個csv文件合併爲一個較大的文件,同時刪除標題行。批量組合文件無標題
它可以工作,但不會合並目錄中的所有csv文件。例如,如果我有4個csv文件,它只會合併前兩個文件。
下面是代碼:
@echo off
cd "C:\TheFileDirectory"
setlocal
set first=1
>bigfile.csv. (
for %%F in (*.csv) do (
if defined first (
type "%%F"
set "first="
) else more +1 "%%F"
)
)
您可以嘗試將輸出轉儲到'bigfile.new',然後在循環'ren bigfile.new bigfile.csv'的末尾輸出。我想知道是否你的'for'循環在它的集合中包含了bigfile.csv,並導致試圖將自身追加到自身的問題。 – rojo
@rojo偉大的想法!只是給了它一個鏡頭,仍然有問題。 – Reggie
您的CSV文件很大嗎?我認爲64k的「更多」尺寸限制,但我可能會誤解。如果你的第二個csv文件超過64k,也許這就是導致你的腳本死掉的原因(儘管我希望輸出能夠截斷文件並且循環繼續)。如果一切都失敗了,你可以使用PowerShell代碼片段。 'powershell「$ i = 1; gci * .csv |%{if($ i){$ i = 0; gc $ _} else {gc $ _ | select -skip 1}}」> out&ren out。 cmd控制檯中的csv',或者在.bat腳本中加倍'%'。 – rojo