我正在制作一个需要有两个输入的批处理文件,如下所示:
echo What's the name of your two brothers
set/p input1=
set/p input2=
现在我想要的是这样的:
if %input1==anything and if %input2%==OtherThing goto Continue
但我不知道该怎么做。请帮助 Thnks。
答案 0 :(得分:2)
if "%input1%" EQU "anything" if "%input2%" EQU "OtherThing" goto :Continue
答案 1 :(得分:2)
if "%input1%/%input2%" == "anything/OtherThing" goto Continue
答案 2 :(得分:0)
试试这样:
@echo off
echo What's the name of your two brothers
set /p "input1=Brother 1 :"
set /p "input2=Brother 2 :"
if /i "%input1%"=="anything" (
if /i "%input2%"=="OtherThing" goto Continue
echo One brother matched
pause
exit/b)
echo No Brother Matched
pause
exit/b
:continue
echo Two Brother matched
pause
答案 3 :(得分:0)
如果您仅在第一个和第二个IF语句为真时尝试执行GOTO命令,请使用:
if %input1%==anything && if %input2%==OtherThing goto continue
&&
告诉程序只有在前面的命令为真之后执行命令。
您还可以在程序中添加一些其他功能,例如忽略您输入兄弟的顺序。为此,请使用:
if %input1%==anything && if %input2%==OtherThing goto continue
if %input1%==OtherThing && if %input2%==anything goto continue
echo Your brothers do not match description etc...
pause
exit
你也可以使用不区分大小写的比较:
if /I %input1%==anything && if /I %input2%==OtherThing goto continue
还有很多其他的东西可以用来强化你的程序。如果您需要有关某个命令的更多帮助,请打开cmd.exe并使用/?键入命令。开关。
更新
抱歉,我的第一个答案没有用,但是我已经想出了一个新的.bat程序,它应该可以完成这项任务。如果此操作是程序的第一个操作,请在程序的最开头复制并粘贴此代码:
@echo off
echo Enter the name of your first brother.
set /P input1=
cls
echo Enter the name of your second brother.
set /P input2=
if %input1%==anything goto %input1%
if not %input1%==OtherThing goto checkinput2
goto %input1%
:anything
if %input2%==OtherThing (goto continue) else cls & echo Only one brother matched. & echo. & pause & exit /b
:OtherThing
if %input2%==anything (goto continue) else cls & echo Only one brother matched. & echo. & pause & exit /b
:checkinput2
if %input2%==OtherThing cls & echo Only one brother matched. & echo. & pause & exit /b
if %input2%==anything cls & echo Only one brother matched. & echo. & pause & exit /b
cls
echo No brothers matched.
echo.
pause
exit /b
:continue
"the rest of your program here"
无论你在哪里看到"任何东西"用一个兄弟的名字替换它。无论你在哪里看到" OtherThing"用另一个兄弟的名字替换它。名称将是区分大小写的。你看到"你的程序的其余部分",那是你的:continue
声明。只需从这一行继续你的程序。
如果此操作位于程序中间的某个位置,请将第一行@echo off
替换为cls
,以清除其他程序命令中屏幕上的内容。
我希望这适合你。