2013-07-09 115 views
-1
@echo off 
set Hint=3 
echo Hints=%Hint% 
pause >nul 
set /p Talk=">" 
if %Talk%"=="Hint?" &if %Hint%"=="3" echo yay! 
pause >nul 
cls 

我该如何说“你好!”使用两个if语句(如果可以的话),并且只有在%Hint%= 3的情况下才能使用? 我是新来的批次,只是一个初学者。使用两个if语句

+0

快速搜索= http://stackoverflow.com/questions/6711615/using-multiple-if-statements-in-a-batch-file – Nick

+0

帮忙,谢谢Nick! –

回答

3

删除符号&并添加双引号:

if "%Talk%"=="Hint?" if "%Hint%"=="3" echo yay! 
1

只需从代码中删除&符号即可。

1
if "%Talk%"=="Hint?" (
    if "%Hint%"=="3" (
     echo yay! 
    ) 
) 

你还缺少一些"

1

有在批处理/ CMD没有二进制逻辑运算符。尽管如此,你可以将它们链接在一起,就像你在C中一样。

if "%Talk%"=="Hint?" if "%Hint%"=="3" echo yay! 

如果您需要更复杂的逻辑,你可以使用按位AND(&)和OR(|)运营商SET /A建立更复杂的表达,其降低到一个单一的“布尔”整数。