我正在编写一个批处理脚本来编译文本文件中列出的所有文件,但我不知道如何将一行连接到预先存在的变量的末尾。
批处理脚本:
@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 Player.cpp”
最佳答案
如果您不使用CALL或ENABLEDELAYEDEXPANSION,则无法在FOR内重新分配变量“Files”的值> 循环,您还使用了参数 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
关于batch-file - 字符串连接批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16256020/