Lote de Windows SET dentro de SI no funciona

cuando estoy ejecutando este script (desde un archivo .bat): set var1=true if "%var1%"=="true" ( set var2=myvalue echo %var2% ) Siempre consigo: ECHO is on. Lo que significa que la var2variable no se estableció realmente. ¿Alguien puede ayudarme a entender por