I just stumbled upon a problem. I wanted to process some strings passed as parameters, but the result was somewhat unexpected. I've reduced the issue to this Simple Test Case: Code: SET i=0 DO EXT IN /L .sh ".bad sh" SET i=%@EVAL[%i+1] IFF "%@LEFT[1,%[EXT]]" == "." THEN ECHO "%[EXT]" ENDIFF ENDDO ECHO Did %i runs. Contrary to the expectation, the cycle runs 3 times and only display one extension. (The latter is not actually suprising, considering the former.) Is this considered normal behavior?