anchor.diff:  endlocal & exit /b -1				&:# Integer1 < Integer2
   
   :CompareVersions %1=Version1 %2=Version2
  +setlocal
   %ECHO.D% call %0 %*
  -call :SplitVer %1 V1MAJOR V1MINOR V1PATCH
  -call :SplitVer %2 V2MAJOR V2MINOR V2PATCH
  +call :SplitVer %1 V1MAJOR V1MINOR V1PATCH V1BUILD
  +call :SplitVer %2 V2MAJOR V2MINOR V2PATCH V2BUILD
   call :CompareInteger %V1MAJOR% %V2MAJOR%
  -if not %ERRORLEVEL%==0 %RETURN% %ERRORLEVEL%
  +if not %ERRORLEVEL%==0 endlocal & %RETURN% %ERRORLEVEL%
   call :CompareInteger %V1MINOR% %V2MINOR%
  -if not %ERRORLEVEL%==0 %RETURN% %ERRORLEVEL%
  +if not %ERRORLEVEL%==0 endlocal & %RETURN% %ERRORLEVEL%
   call :CompareInteger %V1PATCH% %V2PATCH%
  -%RETURN% %ERRORLEVEL%
  +if not %ERRORLEVEL%==0 endlocal & %RETURN% %ERRORLEVEL%
  +call :CompareInteger %V1BUILD% %V2BUILD%
  +endlocal & %RETURN% %ERRORLEVEL%
   
   :#----------------------------------------------------------------------------#
   
  
positive.code: set "ECHO=call :Echo"
  set "EXEC=call :Exec"
  set "RETURN=exit /b"
  set "ECHO.D=call :nop"
  set "ECHOVARS.D=call :LogVars"
  
  set "LOG=call :Log"
  
negative.code: )
  exit /b
  
  :SplitVer %1=X.Y.Z.T %2=XVAR %3=YVAR %4=ZVAR %5=TVAR
  for /f "tokens=1-4 delims=-." %%a in ("%~1") do (
    set "%2=%%a"
    set "%3=%%b"
    set "%4=%%c"
    set "%5=%%d"
  )
  exit /b
  
  :CompareInteger %1=Integer1 %2=Integer2
  setlocal
  %ECHO.D% call %0 %*
  if "%1%2"=="" exit /b 0				&:# They're both empty, thus equal
  if "%2"=="" exit /b 1				&:# Integer1 > nothing
  if "%1"=="" exit /b -1				&:# nothing < Integer2
  