2017-02-22 41 views
1

我有一個文本文件,我需要先刪除第一行數據。我有一個批處理腳本,可以爲我做這件事,但由於某種原因,它會在每行數據的末尾添加一個空格。xcopy文本文件爲數據添加空間 - CMD批處理文件

經過多次循環後,這會使數據文件大大增加(10k +行數據在每個xcopy中獲得一個空間),我試圖找出必須複製數據行,而不在最後增加額外空間。

這裏是我的腳本:

for /f "skip=1 delims=*" %%a in (C:\Users\User1\Documents\DataSources\AccountData.csv) do (
    echo %%a >>C:\Users\User1\Documents\DataSources\newfile.txt  
) 

xcopy C:\Users\User1\Documents\DataSources\newfile.txt C:\Users\User\Documents\DataSources\AccountData.csv /y 

del C:\Users\User1\Documents\iMacros\DataSources\newfile.txt /f /q 

有什麼建議?謝謝一堆!

克里斯

+2

如果你刪除%%和>>操作符之間的空間? – dlatikay

+0

@dlatikay,是正確的。你在物理上回應文件的空間。下面的答案是哪個組合已經得到糾正。 – Squashman

回答

1

快速的方法是將其改爲:

for /f "skip=1 delims=*" %%a in (C:\Users\User1\Documents\DataSources\AccountData.csv) do (
    (echo %%a)>>C:\Users\User1\Documents\DataSources\newfile.txt  
) 

xcopy C:\Users\User1\Documents\DataSources\newfile.txt C:\Users\User\Documents\DataSources\AccountData.csv /y 

del C:\Users\User1\Documents\iMacros\DataSources\newfile.txt /f /q 
+1

是的。可能值得添加一行或兩行,這是爲什麼這會影響 – dlatikay

+0

@dlatikay,因爲只是刪除%% a和>>操作符之間的空格不是解決方案。 – Compo

+1

@dlatikay,從理論上消除空間確實解決了這個問題,但涉及到一個問題。如果數據以數字結尾,批處理文件會認爲您正在重定向到不同的文件流。因此,要解決該問題,請將該命令放在括號內。 – Squashman