Variável não funciona quando feita em um programa em lote IF

0

Estou tentando criar um jogo e, sempre que eu tentar, ele diz que há um erro de sintaxe quando está correto

:Q3

echo ====================================
echo Do you want to be skilled in:
echo.
echo Speed (1)
echo Enchanting (2)
echo Pickpocket (3)
echo Attack (4)
echo Magic (5)
echo.
echo Say the Number it's labeled as. (1-5)
echo.
echo =====================================

set /p QU3= %NAME%\

if %QU3%== 1 SET SPEE= 1
if %QU3%== 2 set ECH= 1
if %QU3%== 3 set PIC= 1
if %QU3%== 4 set 
if %QU3%== 5 

pause
goto Q4

Plz me ajude o quanto antes!

    
por Jon_30 04.11.2015 / 23:30

2 respostas

0

Não sei o que você está tentando fazer, mas tente o seguinte:

@echo off
:Q3

echo ====================================
echo Do you want to be skilled in:
echo.
echo Speed (1)
echo Enchanting (2)
echo Pickpocket (3)
echo Attack (4)
echo Magic (5)
echo.
echo Say the Number it's labeled as. (1-5)
echo.
echo =====================================

SET /P QU3="INPUT:"

if "%QU3%"==1 (SET SPEE=1)
if "%QU3%"==2 (SET ECH=1)
if "%QU3%"==3 (SET PIC=1)
REM if "%QU3%"== 4 set 
REM if "%QU3%"== 5 

echo %QU3% was selected
pause

Recomendo que você leia este tutorial para saber mais sobre a sintaxe do arquivo em lote: link

    
por 05.11.2015 / 00:07
0

Depois de olhar para o site por um tempo, eu descobri. isso é o que eu recebi:     : Q3

echo ====================================
echo Do you want to be skilled in:
echo.
echo Speed (1)
echo Enchanting (2)
echo Attack (3)
echo Magic (4)
echo.
echo Say the Number it's labeled as. (1-5)
echo.
echo =====================================

set SPEE=0
set ENCH=0
set ATTA=0
set MAGI=0

set /p QU3= %NAME%\

if %QU3%== 1 set /a SPEE+=1
if %QU3%== 2 set /a ENCH+=1
if %QU3%== 3 set /a ATTA+=1
if %QU3%== 4 set /a MAGI+=1

pause
    
por 05.11.2015 / 02:34