2014-04-01 68 views
1

我有一個批處理腳本,它將連接索引文件中列出的文件的內容。它曾經工作,直到路徑中有空格。我已經編輯了一點,但它是這樣的:在批處理腳本中連接文件

SET INPUT="C:\Has Spaces In Path\indexfile.txt" 
SET ROOT="C:\Has Spaces In Path\inputdirectory\" 
SET OUTPUT="C:\Has Spaces In Path\outputdirectory\mergedfile.txt" 

FOR /F %%A IN (%INPUT%) DO TYPE "%ROOT%%%A" >> "%OUTPUT%" 

我的問題是,%INPUT%現在出現在得到標記化的循環,如果我把引號圍繞它(即「% INPUT%「)它也不起作用。有什麼辦法可以讓這個循環迭代INPUT指定的文件中的每一行,並將內容連接到OUTPUT文件?

謝謝。

編輯:根據答案,這個做了什麼,我想:

FOR /F %%A IN ('type "%INPUT%"') DO TYPE "%ROOT%%%A" >> "%MERGED%" 

回答

2
FOR /F %%A IN ('type %INPUT%') DO echo %%A 

'括號將導致執行該語句,並使用像一個文件源

+0

謝謝我設法讓它在這個基礎上有點搞亂。 –

1
FOR /F "usebackq" %%A IN ("%INPUT%") DO TYPE "%ROOT%%%A" >> "%OUTPUT%" 
輸出

,或者更好的:

(FOR /F "usebackq" %%A IN ("%INPUT%") DO TYPE "%ROOT%%%A") > "%OUTPUT%" 

欲瞭解更多詳情,請參閱:FOR /?