FOR, IF e SET não estão funcionando juntos

FOR, IF e SET não estão funcionando juntos
SETLOCAL EnableDelayedExpansion 
FOR %%A IN (1 2 3) DO (  
IF %%A EQU 1 (  
SET CHOICE1=ABC  
ECHO CHOICE1=%CHOICE1%  
)  
)  

Saída:

CHOICE1=

Por que não está CHOICE1sendo definido?

Responder1

Ao usar EnableDelayedExpansionvocê também deve usar !em torno de variáveis ​​que deseja atrasar a expansão.

Portanto, em vez de %CHOICE1%você deve usar !CHOICE1!.

informação relacionada