title: batch file fails to set variable in IF clause
body: <p>The following code is not updating Run to equal N even though the match occurs. this means I'm not dropping into the CALL code. Am i missing something here?</p>
  
  <pre><code>SET Run=Y
  
  REM Check current files date/time information and establish if the file has been present too long in the directory
  REM Skip first 4 lines as header information not required
  
  FOR /f "tokens=1-5 skip=4 delims= " %%G IN ('dir /OD "%SRCH_CRITERIA% "') DO (
  
      ECHO "Params to processFile:  " %%G %%H %%I ""%%K""
      IF %%K.==.  ( 
          ECHO "K:nothing"
          SET Run=N
          ECHO %Run%
      ) 
  
      IF %%K==free (
          ECHO "K:FREE"
          SET Run=N
          ECHO %Run%
      ) 
  
      ECHO %Run% RUN
      IF %Run%=="Y" (
          CALL :processFile "%%G" "%%H" "%%I" "%%K"
      )   
  )
  </code></pre>