2013-07-09 116 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建立更復雜的表達,其降低到一個單一的「布爾」整數。