anchor.diff:      goto :ReplaceDelimSets.loop
     )
   )
  -endlocal & set "%~4=%RESULT:~1,-1%"
  -exit /b
  -
  -:# Replace delimiters.
  +set "!RETVAR!=!RESULT:~1,-1!"
  +%UPVAR% !RETVAR! & %RETURN% 0
  +
  +:# Replace delimiters
   :# Inspired by npocmaka post: http://www.dostips.com/forum/viewtopic.php?p=29901#p29901
  -:# Advantage: Works with CHAR '=' ':' '*'
  +:# Advantage: Works with CHAR '=' ':'
   :# Drawback: Does not work on strings with LF or '"' characters.
  -:ReplaceDelims STRVAR CHAR REPLACEMENT RETVAR
  -setlocal DisableDelayedExpansion
  +:ReplaceDelims %1=STRVAR  %2=CHAR  %3=REPLACEMENT  %4=RETVAR (Default: STRVAR)
  +%FUNCTION% DisableDelayedExpansion
   call set "STRING=[%%%~1%%]"	&:# Make mure the string does not begin or end with delims
   set "REPL=%~3"
  +set "RETVAR=%~4" & if not defined RETVAR set "RETVAR=%~1"
   set "RESULT="
   call :strlen.q STRING SLEN	&:# SLEN = Full string length
   :ReplaceDelims.loop
  
positive.code:     )
    )
  )
  endlocal & set "%~4=%RESULT%"
  exit /b 0
  
  :# Replace delimiter sets.
  :# Advantage: Simple and fast; Works with CHAR '=' ':' '*'
  :# Drawback: Multiple consecutive CHARs are replaced by a single REPL string.
  :# Drawback: Does not work on strings with LF or '!' characters.
  :ReplaceDelimSets STRVAR CHAR REPLACEMENT RETVAR
  setlocal EnableDelayedExpansion
  set "STRING=[!%~1!]"	&:# Make mure the string does not begin or end with delims
  set "REPL=%~3"
  set "RESULT="
  :ReplaceDelimSets.loop
  for /f "delims=%~2 tokens=1*" %%s in ("!STRING!") do (
  
negative.code: if '%1'=='call' goto :call
  
  setlocal EnableExtensions DisableDelayedExpansion &:# Make sure ! characters are preserved
  set "VERSION=2021-12-06"
  set "SCRIPT=%~nx0"		&:# Script name
  set "SNAME=%~n0"		&:# Script name, without its extension
  set "SPATH=%~dp0"		&:# Script path
  