echo 输出结果不对,没有正解引用bool型变量

@echo off&setlocal enabledelayedexpansion

set NameA=true
set NameB=false
set NameC=true
set NameD=true
SET TASK_1_PROJECT_NAME=NameA
SET TASK_2_PROJECT_NAME=NameB
SET TASK_3_PROJECT_NAME=NameC
SET TASK_4_PROJECT_NAME=NameD

for /l %%i in (1, 1, 4) do (
set TempName=!TASK_%%i_PROJECT_NAME!
if !TempName!==true (
echo 'selected'
) else (
echo 'not be selected'
)
)


SET TASK_1_PROJECT_NAME=%NameA%
SET TASK_2_PROJECT_NAME=%NameB%
SET TASK_3_PROJECT_NAME=%NameC%
SET TASK_4_PROJECT_NAME=%NameD%

批处理变量应该这样赋值给另一个变量。

 ###### 问题遇到的现象和发生背景
echo 输出结果不对,没有正解引用bool型变量
 ###### 用代码块功能插入代码,请勿粘贴截图
@echo off&setlocal enabledelayedexpansion

set NameA=true
set NameB=false
set NameC=true
set NameD=true
SET TASK_1_PROJECT_NAME=NameA
SET TASK_2_PROJECT_NAME=NameB
SET TASK_3_PROJECT_NAME=NameC
SET TASK_4_PROJECT_NAME=NameD

for /l %%i in (1, 1, 4) do (
set TempName=!TASK_%%i_PROJECT_NAME!
if !TempName!==true (
echo 'selected'
) else (
echo 'not be selected'
)
)

 ###### 运行结果及报错内容
'not be selected'
'not be selected'
'not be selected'
'not be selected'

 ###### 我的解答思路和尝试过的方法
!!TempName!! : 结果不对
%!TempName!%: 结果不对
!%TempName%!: 结果不对

 ###### 我想要达到的结果
'selected'
'not be selected'
'selected'
'selected'