I've never seen Else's in a batch file before, are you sure they work?

I've always seen this kind of thing:

IF ERRORLEVEL 1 GOTO update
GOTO quit


Also, check the value of ErrorLevel before each IF, it might not have the value you expect