2016-10-11 2 views
0

현재 봇 봇을 만들고 있지만 한 단어로 된 질문이나 단어를 만들고 싶다면 모든 것이 잘됩니다. 예를 들면 :배치의 프롬프트에 여러 단어로 답변

set /p chat=You: 
if %chat%==hello echo User: Hello! 

하지만 시도하는 경우 :

if %chat%==who are you? echo User: My name is Stacy. 

.bat 파일 충돌. 나는이 코딩 언어에 익숙하지 않아서 내가 잘못하고있는 것과 그 문제를 어떻게 해결할 수 있는지에 대한 설명을 얻을 수 있을까? 내가 실제로 CMD 프롬프트 게임을 만들고 있는데,이 로봇이 지금까지 정말 훌륭하게 보이기 때문에이 로봇이 중요합니다.

+1

'% chat % "=="당신은 누구입니까? "'또는 더 나은'if/I"% chat % "=="당신은 누구입니까? ""(대소 문자를 구별하지 않는 비교) .. 배치 파일은 "충돌"하지 않으며 구문 오류를 반환합니다. 구문 오류는 두 번 클릭하여 실행하면 볼 수 없습니다. – aschipfl

+0

도움을 주셔서 대단히 감사합니다! 그러면 창을 즉시 닫지 않고 오류를 알려주는 방법은 무엇입니까? –

+0

명령 프롬프트를 열고 스크립트를 두 번 클릭하는 대신 이름을 입력하여 스크립트를 실행하십시오. – SomethingDark

답변

0

(위의 의견에 따라 답)

aschipfl가 바로 있었다.

%chat%이 인용되지 않은 인스턴스가 있었기 때문에 문제가 발생한 if /i who are you==hello ...을 실행하려고했던 것과 같습니다. 운영자가 누구인지는 예상했으나, are이 있습니다.

이 템플릿을 따르 if /i "%chat%"=="blah blah" echo ...

예 :

@echo off 
echo CLIENT CONNECTED. Say Hello. 
:ChatBot 
set /p chat=You: 
if /i "%chat%"=="hello" echo User: Hello.. Anything you need while I can talk? These chats are on a timer. 
if /i "%chat%"=="who are you?" echo User: My name is stacy. Im a Help assistant here at USFIB. 
if /i "%chat%"=="exit" goto :eof 
goto ChatBot 

는 또한, 당신의 고토 라벨 위에 연결된 클라이언트를 넣어.