3

At first, it said "set was unexpected at this time" and now when I run it, it just closes. This is in batch. Have any ideas? Here's the code:

:waves

if %wave1%==1 set /a wave1=ACTIVATED

if %wave1%==0 set /a wave1=DEACTIVATED

if %wave2%==1 set /a wave2=ACTIVATED

if %wave2%==0 set /a wave2=DEACTIVATED

if %wave3%==1 set /a wave3=ACTIVATED

if %wave3%==0 set /a wave3=DEACTIVATED

if %wave4%==1 set /a wave4=ACTIVATED

if %wave4%==0 set /a wave4=DEACTIVATED

if %wave5%==1 set /a wave5=ACTIVATED

if %wave5%==0 set /a wave5=DEACTIVATED

if %wave6%==1 set /a wave6=ACTIVATED

if %wave6%==0 set /a wave6=DEACTIVATED

if %wave7%==1 set /a wave7=ACTIVATED

if %wave7%==0 set /a wave7=DEACTIVATED

if %wave8%==1 set /a wave8=ACTIVATED

if %wave8%==0 set /a wave8=DEACTIVATED

echo Type the number of the wave you like to change

echo       wave #        STATUS

echo -----------------------------------

echo     wave 1          %wave1%

echo     wave 2          %wave2%

echo     wave 3          %wave3%

echo     wave 4          %wave4%

echo     wave 5          %wave5%

echo     wave 6          %wave6%

echo     wave 7          %wave7%

echo     wave 8          %wave8%

choice /c 12345678
slasky
  • 2,726
  • 4
  • 27
  • 36
King Mat
  • 91
  • 1
  • 6

1 Answers1

7

Running this I got:

if ==1 set /a wave1=ACTIVATED

This shows that %wave1% has no value and hence you've broken the if statement.

Use set %wave1=Whatever or add double quotes to the if

if "%wave1"=="1" set wave1=ACTIVATED

You also dont need /a as it's not arithmetic

FloatingKiwi
  • 4,408
  • 1
  • 17
  • 41