anchor.diff:  
   :# Quote file pathnames that require it. %1=Input variable. %2=Opt. output variable.
   :condquote
  -%FUNCTION% condquote %1 %2
  -setlocal enableextensions enabledelayedexpansion
  +%FUNCTION% enableextensions enabledelayedexpansion
   set RETVAR=%~2
   if "%RETVAR%"=="" set RETVAR=%~1
  -:# call set "P=%%%~1%%"
   set "P=!%~1!"
   :# If the value is empty, don't go any further.
   if not defined P set "P=""" & goto :condquote_ret
  
positive.code: echo   -V               Display this script version and exit
  echo.
  echo Commands:
  echo   dir {path}       List subkeys/ and values names
  echo   keys {path}      List subkeys names
  echo   show {path}      Display all values contents (1)
  echo   tree {path}      Display the whole tree key values contents (1)
  echo   type {path\name} Display the key value content 
  
negative.code:     >&2 echo Error: Delayed environment variable expansion must be enabled.
      >&2 echo Please restart your cmd.exe shell with the /V option,
      >&2 echo or set HKLM\Software\Microsoft\Command Processor\DelayedExpansion=1
      endlocal & set "RETVAL=1" & exit /b
    )
  )
  endlocal & set "RETVAL=0" & exit /b
  
  :#----------------------------------------------------------------------------#
  
  :# List subkeys. %1=Parent key pathname.
  :keys
  :dirs
  %FUNCTION% enableextensions enabledelayedexpansion
  set "PATTERN=*"
  set "OPTS=/k"
  :get_keys_args
  