在循环期间将值附加到变量

时间:2015-02-23 23:14:47

标签: batch-file

我试图遍历在通配符搜索期间找到的文本文件,并将每一行附加为字符串的自己部分。

我的文件有两行:

Load.SQL.Sample.Basic.Data
Script.Calc.Sample.Basic.AggAll

我想循环遍历它们并将它们聚合成一个变量。在每一步,我都希望它回应变量中的内容:

Load.Sql.Sample.Basic.Data
Load.Sql.Sample.Basic.Data Script.Calc.Sample.Basic.AggAll

此脚本只复制输入文件:

set JOBLIST=
FOR %%i in (*.Job.txt) DO (
    FOR /F %%a in (%%i) DO (
        SETLOCAL EnableDelayedExpansion
        set JOBLIST=!JOBLIST! %%a
        echo !JOBLIST!>>Test.txt
        ENDLOCAL
    )
)

这是输出(每行都有一个前导空格):

 Load.SQL.Sample.Basic.Data
 Script.Calc.Sample.Basic.AggAll

1 个答案:

答案 0 :(得分:1)

如果在错误的地方延迟扩张:

SETLOCAL EnableDelayedExpansion
FOR %%i in (*.Job.txt) DO (
    FOR /F %%a in (%%i) DO (
        set JOBLIST=!JOBLIST! %%a
        echo !JOBLIST!>>Test.txt        
    )
)
ENDLOCAL