・IF ERRORLEVEL n は「イコールnなら」ではなく「n以上なら」という意味、算式で言うなら、
errorlevel > x
をあらわします。
ERRORLEVELは常に0以上の整数値ですから、
if errorlevel 0
は必ずTRUEになります。
・IF構文で「否定」をあらわす書式は、とりあえず IF NOT ... がありますが、「"以上"の否定ってことは、えーとつまり"未満"になるのかな、えーとえーと」みたいな感じで、この場合はちょっと使いにくい面があります。
お使いのOSのバージョンが不明ですが、WindowsNT/2000/XP系であれば、下記の比較演算子を使うことができます。
利用例:if errorlevel EQU 3 echo FILE NOT FOUND
→こう書けば、errorlevelが3のときだけに限定した処理が行えます。
比較例:if errorlevel 3 echo FILE NOT FOUND
→演算子なしだと、errorlevelが3以上のときには常に処理されることになります。