Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 带有第二个else的批处理文件if语句_Batch File_If Statement_Dos - Fatal编程技术网

Batch file 带有第二个else的批处理文件if语句

Batch file 带有第二个else的批处理文件if语句,batch-file,if-statement,dos,Batch File,If Statement,Dos,我很难让它工作: 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)不起作用,只有yes的那一个会起作用,还有其他选择吗?我也曾以类似的方式尝试过if-NOT语句,它似乎只是相互抵消(当然)。因为它将直接转到无效的,因为第一个if

我很难让它工作:

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)
不起作用,只有yes的那一个会起作用,还有其他选择吗?我也曾以类似的方式尝试过
if-NOT
语句,它似乎只是相互抵消(当然)。

因为它将直接转到
无效的
,因为第一个
if
语句中的
else
。只要你的第二个
if
将永远不会被评估

我建议只删除第一个

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