2013-07-09 4 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 

어떻게 "yay!"라고 말합니까? 두 가지 if 문 (가능한 경우)을 사용하고 % Hint % = 3 인 경우에만? 저는 일괄 처리가 처음이고 초보자입니다.두 개의 if 문 사용

+0

빠른 검색 = http://stackoverflow.com/questions/6711615/using-multiple-if-statements-in-a-batch-file – Nick

+0

그 덕분에, 닉! –

답변

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! 

, 당신은 더 복잡한 표현을 구축하고 하나의 "부울"정수로 감소 SET /A와 비트 AND (&)와 OR (|) 연산자를 사용할 수 있습니다.