Page 1 of 1

syntax error

Posted: 30 May 2012 17:10
by doscode
Can you help me with this?

Code: Select all

@echo off

FOR /F %%X IN (x/list.txt) DO (

REM echo %%X
SET /A odd="%%X%%2"

if %odd%==0 echo EVEN %%X
else Echo ODD %%X
  FOR /F %%Y IN (y/list.txt) DO (
  REM echo %%Y
  SET /A odd="%%Y%%2"
  if %odd%==0 echo EVEN %%X
  else Echo ODD %%X
)
)
pause


I cannot get the conditions working.

Re: syntax error

Posted: 30 May 2012 17:19
by Fawers
Of course you can't:
Firstly, you need delayed expansion if you want to work with variable manipulation within loops.
Secondly, you didn't put the IF statements on the same line.

Code: Select all

@echo off
setlocal enableDelayedExpansion

FOR /F %%X IN (x/list.txt) DO (

REM echo %%X
SET /A "odd=%%X %% 2"

if "!odd!"=="0" (echo EVEN %%X
) else Echo ODD %%X
  FOR /F %%Y IN (y/list.txt) DO (
  REM echo %%Y
  SET /A "odd=%%Y %% 2"
  if "!odd!"=="0" (echo EVEN %%X
  ) else Echo ODD %%X
 )
)
pause

Re: syntax error

Posted: 31 May 2012 00:12
by doscode
Thanks. I forgot about it when I spend some time with different language.