2013-04-27 89 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