anchor.diff:  :# If the value is empty, don't go any further.
   if not defined P set "P=""" & goto :condquote_ret
   :# Look for any special character that needs quoting
  -echo."%P%"|findstr /C:" " /C:"&" /C:"(" /C:")" /C:"@" /C:"," /C:";" /C:"[" /C:"]" /C:"{" /C:"}" /C:"=" /C:"'" /C:"+" /C:"`" /C:"~" >NUL
  +:# Added "@" that needs quoting ahead of commands.
  +:# Added "|&<>" that are not valid in file names, but that do need quoting if used in an argument string.
  +echo."%P%"|findstr /C:" " /C:"&" /C:"(" /C:")" /C:"[" /C:"]" /C:"{" /C:"}" /C:"^^" /C:"=" /C:";" /C:"!" /C:"'" /C:"+" /C:"," /C:"`" /C:"~" /C:"@" /C:"|" /C:"&" /C:"<" /C:">" >NUL
   if not errorlevel 1 set P="%P%"
   :condquote_ret
   :# Contrary to the general rule, do NOT enclose the set commands below in "quotes",
  
positive.code: set "%RETVAR%=!P!"
  %RETURN%
  
  :condquote2
  %FUNCTION%
  setlocal enableextensions enabledelayedexpansion
  set RETVAR=%~2
  if "%RETVAR%"=="" set RETVAR=%~1
  set "P=!%~1!"
  :# If the value is empty, don't go any further.
  if not defined P set "P=""" & goto :condquote_ret
  :# Remove double quotes inside P. (Fails if P is empty)
  
negative.code: if '%1'=='call' %*& exit /b
  
  setlocal EnableExtensions EnableDelayedExpansion
  set "VERSION=2018-11-19"
  set "SCRIPT=%~nx0"				&:# Script name
  set "SPATH=%~dp0" & set "SPATH=!SPATH:~0,-1!"	&:# Script path, without the trailing \
  set "SFULL=%~f0"				&:# Script full pathname
  