anchor.diff:  
   :#----------------------------------------------------------------------------#
   :#                                                                            #
  +:#  Function        TrimRightSlash                                            #
  +:#                                                                            #
  +:#  Description     Remove the trailing \ of a pathname, if any               #
  +:#                                                                            #
  +:#  Note                                                                      #
  +:#                                                                            #
  +:#  History                                                                   #
  +:#   2014-06-23 JFL Created this routine.                                     #
  +:#                                                                            #
  +:#----------------------------------------------------------------------------#
  +
  +:TrimRightSlash     %1=VARNAME
  +%FUNCTION% EnableDelayedExpansion
  +set "VARNAME=%~1"
  +%UPVAR% %VARNAME%
  +set "%VARNAME%=!%VARNAME%!::" &:# Note that :: cannot appear in a pathname
  +set "%VARNAME%=!%VARNAME%:\::=::!"
  +set "%VARNAME%=!%VARNAME%:::=!"
  +%RETURN%
  +
  +:#----------------------------------------------------------------------------#
  +:#                                                                            #
   :#  Function        ReplaceXxxx						      #
   :#                                                                            #
   :#  Description     Replace tricky characters                                 #
  
positive.code: :#		    Added support for empty pathnames.                        #
  :#   2016-11-09 JFL Fixed this routine, which was severely broken :-(	      #
  :#   2016-11-21 JFL Fixed the "!" quoting, and added "|&<>" quoting.	      #
  :#                                                                            #
  :#----------------------------------------------------------------------------#
  
  :# Quote file pathnames that require it. %1=Input variable. %2=Opt. output variable.
  :condquote
  %FUNCTION% EnableExtensions EnableDelayedExpansion
  set "RETVAR=%~2"
  if not defined RETVAR set "RETVAR=%~1" &:# By default, change the input variable itself
  
negative.code: :# 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
  :# 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",
  