If statement CMD IF语句

If statement CMD IF语句,if-statement,cmd,set,If Statement,Cmd,Set,我想检查变量h=“yes”或h=“no”,我的代码是否明显不正确。我怎样才能修好它 @echo what is your statement (YES/NO)? set /p h= if %h% EQ 'yes' goto YES if %h% EQ 'no' goto NO :YES @echo you chose YES pause > nul goto END :NO @echo you chose NO pause > nul :END 我

我想检查变量h=“yes”或h=“no”,我的代码是否明显不正确。我怎样才能修好它

@echo what is your statement (YES/NO)?

 set /p h=

 if %h% EQ 'yes' goto YES

 if %h% EQ 'no' goto NO

:YES

@echo you chose YES

 pause > nul

goto END


:NO

@echo you chose NO

 pause > nul

:END

我被要求缩减我的回答

我想这就是你想要的东西,就像:

@ECHO OFF
CLS

CHOICE /C YN /M "DO YOU WANT TO RESTART APACHE TOMCAT WEB SERVICE?"
IF %ERRORLEVEL% == 2 GOTO END

ECHO DO OTHER STUFF HERE

:END
ECHO YOU PRESSED N OR SCRIPT HAS FINISHED
EXIT

只需要一点小小的改变:

@echo off 
echo what is your statement (YES/NO)?
set /p h=
if /i '%h%' == 'yes' goto YES
if /i '%h%' == 'no' goto NO
echo wrong input
goto END

:YES
echo you chose YES
pause > nul
goto END

:NO
echo you chose NO
 pause > nul
:END
  • “等于”的正确语法是:eq或==
  • 如果/i
    使其不区分大小写,则可以输入yes、yes、yes或yes
  • 我增加了两行输入错误

谢谢,我正在努力更好地了解这一点。如果你有时间(我不知道你是否会看到这个,但是)。我需要在程序中输入字母,以执行筛选命令,但有小写字母和大写字母的结果,所以如果我键入小写字母,它只会给我小写字母的结果。“set/py=(新行)任务列表| findstr^^%y%”
findstr
还使用参数
/i
忽略大写/小写。除非此人在回答中包含单引号,否则此解决方案将无法按书面方式工作。您可以通过使用
if/i“%h%”==“yes”转到“yes”来修复此问题。CMD完全按照字面意思进行变量扩展。