Zend certified PHP/Magento developer

Exclamation mark removed as for variable assignment side effect

I’m trying to process property file and replace some of the properties.
While I managed to implement it with

(for /F "tokens=1* delims=]" %%A in ('type "%file%" ^| find /V /N ""') do (
  echo/%%B
  ...
)) > result.txt

as a side effect all exclamation marks (!) were removed from result file. Is this a bug in windows batch or am I missing something?