如果语句崩溃,批处理文件嵌套

batch file nested if statment crashes

我试图通过编写简单的程序来学习批处理,但我遇到了一个完全阻止我的问题。我发现它在嵌套的 if 语句上一直崩溃,但只要我删除嵌套的部分,它就可以正常工作。

set questionNumber=1
if %questionNumber%==1 (
    set /p answer=Test?
    if %answer%==yes (
        echo hi
    )
)
pause>nul
setlocal enableDelayedExpansion
set questionNumber=1
if %questionNumber%==1 (
    set /p answer=Test?
    if !answer!==yes (
        echo hi
    )
)
pause>nul

Delayed expansion