批处理文件 - 循环以将字符串附加到变量

时间:2014-09-02 10:54:47

标签: batch-file

为什么这会继续用循环中的每个数据替换变量而不是附加它?

set ipList=
for /F %%i in (ips.txt) do ( set ipList=%ipLis%,%%i )

2 个答案:

答案 0 :(得分:4)

你需要延迟扩张。另一种方式:

setlocal ENABLEDELAYEDEXPANSION
set ipList=
for /F %%i in (ips.txt) do ( set ipList=!ipList!,%%i )

注意'!'代替 '%%'。此外,你的问题中有一个拼写错误,我想它应该是%% ipList %%而不是%% ipLis %%(缺少't')。

答案 1 :(得分:1)

你需要delayedexpansion或这种技术:

set ipList=
for /F "delims=" %%i in (ips.txt) do call set "ipList=%%ipList%%,%%i"