批处理 if 问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 12:41:11
ECHO 1.A
ECHO 2.B
SET /P VR =
IF %VR% == 1 set VR = 14
IF %VR% == 2 set VR = 46
GOTO START

为什么运行后提示 “此处不应有SET”
程序中其他部分都是可行的 唯独这句有问题

ECHO 1.A
ECHO 2.B
SET /P VR =
IF "%VR%"=="1" set VR = 14
IF "%VR%"=="2" set VR = 46
GOTO START

两个量外边要加""
之间没有空格

@echo off
:s
echo 1.a
echo 2.b
set /p vr=
if "%vr%"=="1" set vr=14
if "%vr%"=="2" set vr=46
echo %vr%&pause
goto s

用equ来判断吧,用==来判断的话,是比较容易出问题的。
@ECHO OFF
COLOR 0a
ECHO 1.A
ECHO 2.B
SET /P VR =
IF "%VR%" equ "1" set VR = 14
IF "%VR%" equ "2" set VR = 46
GOTO START

最标准的选择题写法
@echo off
:1
echo 1.a=14
echo 2.b=46
set /p vr=:
if %vr% == a goto :1
if %vr% == b goto :2
if %vr% == 1 (
echo 14
) else (
if %vr% == 2 (
echo 46
) else (
echo 你只能选择[1-2]
)
)
pause
cls
goto :1