Look up delayed expansion in help set
. It explains your issue exactly.
To solve it use
setlocal enabledelayedexpansion
and then !errorlevel!
instead of %errorlevel%
.
Another option would be to use
if not errorlevel 1
(with slightly different semantics that are likely not relevant in your case).