My batch file won't work!

I was working on a puzzle batch file. Everything works except for the end, where it quits for no reason. Here's the code: @echo off
set puzzle1=%random%
set puzzle2=%random%
set puzzle3=%random%
echo I will make three files.
pause
echo Each of them will be a piece of the puzzle.
pause
echo Are you ready?
pause
echo Begin.
pause
echo %puzzle1% >> 1.txt
echo %puzzle2% >> 2.txt
echo %puzzle3% >> 3.txt
:a
set answer=
set /p answer=Answer:
if '%answer%'=='%puzzle1% %puzzle2% %puzzle3%' goto b
if not '%answer%'=='%puzzle1% %puzzle2% %puzzle3%' goto a
:b
echo I knew you could do it.
FOR %%A IN (*.txt*) DO DEL %%A
pause >nul
exit

BangBang1337 (author) 2 years ago

Thanks.

Now it works perfectly!

g-one2 years ago

The apostrophes have no special meaning in an IF comparison but the spaces split the second operand into three parts. You can avoid that if you enclose both operands into quotation marks instead.

Albeit I'm not really certain if that is what you actually want to do. The user has to input all three random numbers sparated with spaces. Only one or two right guesses would never match though.