FOR、IF、SET がすべて連携して動作しない

FOR、IF、SET がすべて連携して動作しない
SETLOCAL EnableDelayedExpansion 
FOR %%A IN (1 2 3) DO (  
IF %%A EQU 1 (  
SET CHOICE1=ABC  
ECHO CHOICE1=%CHOICE1%  
)  
)  

出力:

CHOICE1=

なぜCHOICE1設定されないのですか?

答え1

を使用する場合は、展開を遅らせたい変数の周囲に EnableDelayedExpansionも を使用する必要があります。!

したがって、%CHOICE1%の代わりに を使用する必要があります!CHOICE1!

関連情報