首页 > 解决方案 > 如何在批处理中使用 FOR 循环参数设置变量

问题描述

我需要遍历一个文件,将值影响到一个变量,然后循环到第二个文件并使用这些先前的变量:

for /F "delims=, tokens=1-3" %%a in (Test_1.txt) do (
    set Var1=%%b
    set Var2=%%c
    for /F "delims=, tokens=1-4" %%a in (Test_2.txt) do (
        if "%%d"=="" (
            echo %%a           !var1!            !Var2!>>Test_3.txt
        )
    )
)

如何影响变量的第一个参数?

标签: batch-filefor-loopset

解决方案


根据您的评论,您甚至根本不需要延迟扩展:

每个循环都必须有它自己唯一的令牌变量。

for /F "delims=, tokens=1-3" %%a in (Test_1.txt) do (
    for /F "delims=, tokens=1-4" %%d in (Test_2.txt) do (
        if "%%e"=="" (
            echo %%d           %%a           %%b >> Test_3.txt
        )
    )
)

推荐阅读