1

如何将 %% 参数分配给变量?

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

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

此代码的输出:

A=user1
USER=

如何将参数 %%A 分配给变量 USER?

4

1 回答 1

6

参数 %%A 已正确分配给 USER 变量,但未正确显示 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 循环之前的值。

于 2012-03-02T23:26:27.147 回答