anchor.diff:  setlocal EnableExtensions DisableDelayedExpansion
   :# Note: The Path is usuallly in a REG_EXPAND_SZ, but sometimes in a REG_SZ. 
   set MCMD=reg query "%MKEY%" /v "%PATHVAR%" 2^>NUL ^| findstr REG_
  +%ECHOVAL.D% MCMD
   for /f "tokens=1,2,*" %%a in ('"%MCMD%"') do set "MPATH=%%c"
  +:MasterPath.Get.TrimR
  +if "%MPATH:~-1%"==";" set "MPATH=%MPATH:~0,-1%" & goto :MasterPath.Get.TrimR
   endlocal & set "MPATH=%MPATH%" & exit /b
   
   :MasterPath.Echo
   if "%VERBOSE%"=="1" echo :# Global %OWNER% PATH list items
   call :MasterPath.Get
   :# Display path list items, one per line
  -if not "%MPATH%"=="" echo.%MPATH:;=&echo.%
  +if defined MPATH echo.%MPATH:;=&echo.%
   exit /b
   
   :MasterPath.Add1 %1=path to add to %PATHVAR%
  
positive.code: 
  :LocalPath.Add1 %1=path to add to %PATHVAR%
  setlocal EnableExtensions EnableDelayedExpansion
  if "%DEBUG%"=="1" echo call %0 %*
  :# First check if the path to add was already there
  set "VALUE=!%PATHVAR%:;;=;!"	&:# The initial paths list value
  set "VALUE2=;!VALUE!;"		&:# Make sure all paths have a ; on both sides
  
negative.code: if "%ARG:~0,1%"=="-" (>&2 echo Error: Invalid switch %1) & goto :Help
  if not defined PATHVAR if "%METHOD%"=="Echo" set "PATHVAR=%ARG%" & goto :next_arg
  :# Now rebuild a list with ; separators, as cmd.exe removes the ; 
  if not defined VALUE set "METHOD=Add"
  if defined VALUE set "VALUE=%VALUE%;"
  set "VALUE=%VALUE%%~1"
  goto :next_arg
  
  