批处理bat命令,这句哪里错了,为什么不能跳转呢?

2024-11-20 01:39:35
推荐回答(2个)
回答(1):

if %choise%=="a"
if %choise%=="b"
上面这两句中对比时,choise变量值没有加上一对引号,造成等式不成立,自然就不跳转,直接执行下面的代码

正确代码如下:
@echo off
set /p choise=请输入MOD序号:
if /i "%choise%"=="a" goto A
if /i "%choise%"=="b" goto B

:A
echo A
goto :end

:B
echo B
goto :end

:end
pause

回答(2):

呵呵,问题解决了我也挑点毛病,不过最佳答案请选楼上网友
这个写法如省去一句if /i "%choise%"=="a" goto A效果一样,原因是批处理是顺序执行的最好在原基础上set/p 之前加个标签,两if语句下加一句goto此标签,这样输入错可重输入