Windows batch SET à l'intérieur IF ne fonctionne pas

lorsque j'exécute ce script (à partir d'un fichier .bat): set var1=true if "%var1%"=="true" ( set var2=myvalue echo %var2% ) J'ai toujours: ECHO is on. Cela signifie que la var2variable n'était pas vraiment définie. Quelqu'un peut-il m'aider à comprendre