echo 不能正常输出变量值

问题遇到的现象和发生背景

echo 不能正常输出变量值

用代码块功能插入代码,请勿粘贴截图

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 TmpName=TASK_%%i_POJECT_NAME
echo %TmpName%
)

运行结果及报错内容

TASK_4_POJECT_NAME
TASK_4_POJECT_NAME
TASK_4_POJECT_NAME
TASK_4_POJECT_NAME
TASK_4_POJECT_NAME

我的解答思路和尝试过的方法

echo !TmpName!
echo !%TmpName%!

我想要达到的结果

NameA
NameB
NameC
NameD


@echo off&setlocal enabledelayedexpansion
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 TmpName=!TASK_%%i_PROJECT_NAME!
echo !TmpName!
)
pause