%%パラメータを変数に割り当てる方法は?
FOR /F "tokens=1 delims= " %%A IN (connections.txt) DO (
set USER=%%A
echo A=%%A
echo USER=%USER%
)
このコードの出力:
A=user1
USER=
パラメータ%%Aを変数USERに割り当てる方法は?
%%パラメータを変数に割り当てる方法は?
FOR /F "tokens=1 delims= " %%A IN (connections.txt) DO (
set USER=%%A
echo A=%%A
echo USER=%USER%
)
このコードの出力:
A=user1
USER=
パラメータ%%Aを変数USERに割り当てる方法は?
パラメータ%%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ループに入る前に持っていた値です。