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ループ内で変更された変数の現在の値を使用するには、Delayed Variable Expansionを使用する必要があります。つまり、感嘆符でパーセントを次のように変更します。

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 に答える