2013-04-27 126 views
2

我正在寫一個批處理腳本來編譯文本文件中列出的所有文件,但我無法弄清楚如何連接到預先存在的變量末尾的一行。字符串串聯批

批處理腳本:

@echo off 
SET files= 

for /f "tokens=*" %%a in (files.txt) do (
    SET files=%files% %1 %%a 
) 

echo %files% 
pause 

這是files.txt:

Main.cpp 
Player.cpp 

目前運行此輸出這樣:http://gyazo.com/5f397b818fee60a631a24e9efbca3abd.png

(我無法發佈圖像,所以如果有人可以我會很感激)

當它應該輸出:「Main.cpp播放器。 CPP」

回答

2

如果不使用CALLENABLEDELAYEDEXPANSION您的變量的值‘文件’不能被重新分配內部。循環,也正在使用的參數VAR % 1這是沒有必要的因爲任何參數被使用/傳遞。

@Echo OFF 

For /F "Usebackq Tokens=*" %%# in (
    "Files.txt" 
) Do (
    Call Set "Files=%%Files%% %%#" 
) 

Echo Files = %Files% 

Pause&Exit 

Files.txt內容:

test1.cpp 
test2.cpp 
test3.cpp 

輸出:

Files = test1.cpp test2.cpp test3.cpp 
+0

謝謝!直接從蝙蝠身上鍛鍊過來! – 2013-04-27 19:55:29