if %_var%==1 (
goto :group1
) else if %_var%==2 (
goto :group2
) else (
goto :groupOthr
)
我在这里做错了什么?我一直收到错误 -
(此时出乎意料。
尝试这样做 -
if %_var%==1 (goto :group1
) else if %_var%==2 (goto :group2
) else (goto :groupOthr
)
然后我得到 -
(goto此时出乎意料。
答案 0 :(得分:2)
if "%_var%"=="1" (
goto :group1
) else if "%_var%"=="2" (
goto :group2
) else (
goto :groupOthr
)
说得对。在这里找到答案 - goto unexpected with blank choice
答案 1 :(得分:1)
像这样简化。如果您的“groupOthr”代码直接位于此下方,则可以删除最后一个goto。
if "%_var%"=="1" goto :group1
if "%_var%"=="2" goto :group2
goto :groupOthr
另请注意,如果未定义变量,我会引用比较的两边以避免出现问题。
答案 2 :(得分:0)
这是你应该使用的结构。
if "%_var%"=="1" (
goto :group1
) else (
if "%_var%"=="2" (
goto :group2
) else (
goto :groupOthr
)
)
答案 3 :(得分:0)
你不需要任何括号,它们会在if语句中引起很多错误。 这是一个没有括号的工作if语句的例子:
after
答案 4 :(得分:0)
if %_var%==1 ( goto group1)
if %_var%==2 ( goto group2)
goto groupothr
将空格键放在goto之前......也可以尝试一个......
我看不出我原来的答案是如何起作用的......下面的代码在我的一个批处理文件中,并且工作正常:
if not defined targeturl (goto err400)
但是,它也像if not defined targeturl ( goto err400 )
另外,我有一个脚本:
@echo off
set defini=hi
if "%defini%"=="hi" (goto tyr)
echo no go.
pause
exit
:tyr
echo goto worked!
pause
exit
也像:
@echo off
set defini=hi
if "%defini%"=="hi" ( goto tyr)
echo no go.
pause
exit
:tyr
echo goto worked!
pause
exit
尝试复制上面的代码并将其保存到trygoto.bat,并运行它。
答案 5 :(得分:-1)
if%_var%== 1(goto group1)
if%_var%== 2(goto group2)
goto groupothr
试试吧!如果有效的话,请进行投票!