如何参数分配%%变量?

问题描述 投票:1回答:1

如何参数分配%%变量?

FOR /F "tokens=1 delims= " %%A IN (connections.txt) DO (
   set USER=%%A

   echo A=%%A
   echo USER=%USER%
)

这段代码的输出:

A=user1
USER=

如何分配参数%%一个变量USER?

batch-file delayedvariableexpansion
1个回答
6
投票

%% A中的参数被正确地分配给用户变量,但USER值不正确显示。

要使用修改内部FOR循环变量的当前值,则必须使用变量延迟扩展,即通过感叹号这种方式改变的百分比:

FOR /F "tokens=1 delims= " %%A IN (connections.txt) DO (
   set USER=%%A

   echo A=%%A
   echo USER=!USER!
)

并加入这一行开始处:

setlocal EnableDelayedExpansion

否则,%USER%的值是一个进入FOR循环之前的变量了。

© www.soinside.com 2019 - 2024. All rights reserved.