If statement CMD IF语句
我想检查变量h=“yes”或h=“no”,我的代码是否明显不正确。我怎样才能修好它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 我
@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或==
使其不区分大小写,则可以输入yes、yes、yes或yes如果/i
- 我增加了两行输入错误
findstr
还使用参数/i
忽略大写/小写。除非此人在回答中包含单引号,否则此解决方案将无法按书面方式工作。您可以通过使用if/i“%h%”==“yes”转到“yes”来修复此问题。CMD完全按照字面意思进行变量扩展。