2017-09-27 65 views
0

我正在使用下面的代碼將文件夾中的所有文本文件合併到一個簡單文件中,問題是代碼不會斷行並最終混合文字。如何合併單行文件中的所有文本文件與斷線?

copy *.txt Combined.txt 

Echo. 
Echo Done! 
Echo. 

pause 

當它結束時,他留下這樣的:

abcblue 

123abcyellow 

123abc 

當我預料到是這樣的:

ABC 

blue 

123 

abc 

yellow 

123 

abc 

哪些錯誤?

注:我發現在互聯網上的代碼,這段代碼,它看起來像主題:

FOR %f IN (*.txt) DO type %f >> Combined.txt & echo. >> Combined.txt 

在這種情況下:

type file1.txt >> newfile.txt 
echo. >> newfile.txt 
type file2.txt >> newfile.txt 
echo. >> newfile.txt 
type file3.txt >> newfile.txt 
echo. >> newfile.txt 

但我需要它自動抓住所有文本文件併合並。

回答

0

只要文件格式正確Windows(CRLF)ANSI文本文件那麼你可以考慮使用Type

Type *.txt>"..\Combined.txt" 

這「應該」寫Combined.txt在當前目錄的父目錄。我這樣做是爲了防止命令嘗試讀取它自己的內容,因爲它也是一個.txt文件。 如果您喜歡,請隨時用特定路徑替換"..\Combined.txt"

如果您想上面每個輸出.txt文件的文件名,然後嘗試改變命令是:

Type *.txt>"..\Combined.txt" 2>&1 

編輯

也應該在前面加上自己的名字文件的附加選項:

Find/V "" *.txt>"..\Combined.txt" 
+0

它把下面的文件的名稱和跳兩行,如何解決這個問題? 圖片:https://i.imgur.com/GeHYglT.png –

+0

由於該基本命令無法控制現有內容,因此如果不使用更復雜的編碼並瞭解更多關於文本文件及其潛在內容的內容,則不易修復。但我已經用更多的選項更新了我的答案。 – Compo

+0

新選項結合更好!但是你仍然把擴展名的文件名稱,你沒有辦法簡單地刪除這些行嗎? https://imgur.com/LbKYCCA.png –

相關問題