我无法让它工作:
if /i {%ANSWER%}=={yes} (goto :yes) ELSE (goto :invalid)
if /i {%ANSWER%}=={no} (goto :no) ELSE (goto :invalid)
if /i {%ANSWER%}=={no} (goto :no) ELSE (goto :invalid)
不会工作,只有一个是肯定的 有没有其他选择?我if NOT
也以类似的方式尝试过声明,它似乎只是相互抵消(当然)。
我无法让它工作:
if /i {%ANSWER%}=={yes} (goto :yes) ELSE (goto :invalid)
if /i {%ANSWER%}=={no} (goto :no) ELSE (goto :invalid)
if /i {%ANSWER%}=={no} (goto :no) ELSE (goto :invalid)
不会工作,只有一个是肯定的 有没有其他选择?我if NOT
也以类似的方式尝试过声明,它似乎只是相互抵消(当然)。
因为它会直接转到invalid
因为else
在第一个if
语句中。只是你的第二个if
永远不会被评估。
我建议简单地删除第一个else
:
if /i {%ANSWER%}=={yes} (goto :yes)
if /i {%ANSWER%}=={no} (goto :no) ELSE (goto :invalid)
请注意,这相当于:
IF /i {%ANSWER%} EQU {yes} GOTO yes
IF /i {%ANSWER%} EQU {no} GOTO no
ECHO Ooops, invalid input.
GOTO :EOF
:yes
ECHO You said YES!
GOTO :EOF
:no
ECHO You said NO!
GOTO :EOF