这是我的批处理脚本文件。有两种情况
@echo off
set name=
set /P TypeName=Name: %=%
if %TypeName% == "abcd" goto correctName
else goto wrongName
:correctName
echo Correct Name
:end
:wrongName
echo Wrong Name
:end
当我输入abcd作为输入时,我得'else'不被识别为内部或外部命令,可操作程序或批处理文件
名称错误
@echo off
set name=
set /P TypeName=Name: %=%
if %TypeName% EQA "abcd" goto correctName
if %TypeName% NEQ "abcd" goto wrongName
:correctName
echo Correct Name
:end
:wrongName
echo Wrong Name
:end
当我输入abcd作为输入时,我得到此时EQA意外。
我的剧本中有什么问题吗?我在这里遗漏了什么
答案 0 :(得分:1)
ELSE
应与IF
关键字位于同一行,或与IF
的右括号位于同一行。
像这样:
IF %TypeName% == "abcd" GOTO correctName ELSE GOTO wrongName
或者像这样:
IF %TypeName% == "abcd" (
ECHO Correct.
GOTO correctName
) ELSE GOTO wrongName
Equal 运算符的正确关键字为EQU
:
IF %TypeName% EQU "abcd" GOTO correctName
答案 1 :(得分:0)
第一个例子几乎是正确的,除了批处理文件中IF / ELSE语句的格式如下:
IF <statement> (
..
..
) ELSE (
...
...
)
所以,只需使用该格式即可。
答案 2 :(得分:0)
你不一定需要使用else,比如
@echo off
set name=
set /P TypeName=Name: %=%
if %TypeName% == "abcd" goto correctName
goto wrongName
:correctName
echo Correct Name
:end
:wrongName
echo Wrong Name
:end
如果%TypeName%==“abcd”它将跳转到:correctName,如果不是,它将简单地落到下一行并跳转到:wrongName。
答案 3 :(得分:0)
为了结束这篇文章,我以这种方式获得了预期的输出 -
@echo off
set name=
set /P TypeName=Name: %=%
if "%TypeName%" == "abcd" (
echo Correct Name
) else (
echo Wrong Name
)