anchor.diff:  
   :#----------------------------------------------------------------------------#
   :#                                                                            #
  -:#  Function        Exec                                                      #
  +:#  Module	    Exec                                                      #
   :#                                                                            #
   :#  Description     Run a command, logging its output to the log file.        #
   :#                                                                            #
   :#                  In VERBOSE mode, display the command line first.          #
   :#                  In DEBUG mode, display the command line and the exit code.#
   :#                  In NOEXEC mode, display the command line, but don't run it.
  -:#                                                                            #
  -:#  Arguments       -t          Tee all output to the log file if there's a   #
  -:#                              usable tee.exe. Default: Redirect all >> log. #
  -:#                              Known limitation: The exit code is always 0.  #
  -:#                  %*          The command and its arguments                 #
  -:#                              Quote redirection operators. Ex:              #
  -:#                              %EXEC% find /I "error" "<"logfile.txt ">"NUL  #
   :#                                                                            #
   :#  Functions       Exec.Init	Initialize Exec routines. Call once at 1st    #
   :#                  Exec.Off	Disable execution of commands		      #
   :#                  Exec.On	Enable execution of commands		      #
   :#                  Do          Always execute a command, logging its output  #
   :#                  Exec	Conditionally execute a command, logging it.  #
  +:#                  Exec.SetErrorLevel	Change the current ERRORLEVEL	      #
  +:#                                                                            #
  +:#  Exec Arguments  -l          Log the output to the log file.               #
  +:#                  -L          Do not send the output to the log file. (Dflt)#
  +:#                  -t          Tee all output to the log file if there's a   #
  +:#                              usable tee.exe.                               #
  +:#                              Known limitation: The exit code is always 0.  #
  +:#                  -e          Always echo the command.		      #
  +:#                  -v          Trace the command in verbose mode. (Default)  #
  +:#                  -V          Do not trace the command in verbose mode.     #
  +:#                  %*          The command and its arguments                 #
  +:#                              Quote redirection operators. Ex:              #
  +:#                              %EXEC% find /I "error" "<"logfile.txt ">"NUL  #
  +:#                              Note: Quote redirections, NOT file numbers.   #
  +:#                              Ex: 2">&"1 will work; "2>&1" will NOT work.   #
   :#                                                                            #
   :#  Macros          %DO%        Always execute a command, logging its output  #
   :#                  %EXEC%      Conditionally execute a command, logging it.  #
  -:#                  %ECHO.X%    Echo and log a string, indented, in -X mode.  #
  -:#                  %ECHO.XVD%  Echo a string, indented, in -X or -V or -D    #
  -:#                              modes; Log it always.                         #
  +:#                  %ECHO.X%    Echo a string indented in -X mode, and log it.#
  +:#                  %ECHO.XD%   Idem in -X or -D modes.                       #
  +:#                  %ECHO.XVD%  Idem in -X or -V or -D modes.                 #
   :#                              Useful to display commands in cases where     #
   :#                              %EXEC% can't be used, like in for ('cmd') ... #
   :#                  %IF_EXEC%   Execute a command if _not_ in NOEXEC mode     #
   :#                  %IF_NOEXEC% Execute a command in NOEXEC mode only         #
  +:#                  %_DO%       Echo and run a command. No opts. No logging.  #
  +:#                  %_DO.D%     Idem, echoing it in debug mode only.          #
  +:#                  %_DO.XVD%   Idem, echoing it in -X or -V or -D modes only.#
  +:#                  %XEXEC%     Call :Exec from an external scriptlet, such   #
  +:#                               one in a (for /f in ('commands')) block.     #
  +:#                  %XEXEC@%    Idem, but with all args stored in one var.    #
   :#                                                                            #
   :#  Variables       %NOEXEC%	Exec mode. 0=Execute commands; 1=Don't. Use   #
   :#                              functions Exec.Off and Exec.On to change it.  #
  
positive.code: :# For each line in CMD output...
  %FOREACHLINE% %%i in ('%CMD% 2^>NUL') do (
    set "LINE=%%i"
    %ECHOVARS.D% LINE
    :# Values are indented by 4 spaces.
    set "HEAD=!LINE:~0,4!"
    set "LINE=!LINE:~4!"
  
negative.code: :# If there are output redirections, then cancel any attempt at redirecting output to the log file.
  set "Exec.Cmd1=%Exec.Cmd:"=%" &:# Remove quotes in the command string, to allow quoting the whole string.
  if not "%Exec.Cmd1:>=%"=="%Exec.Cmd1%" set "Exec.Redir="
  if defined Exec.Redir set "Exec.NOREDIR=1" &:# make sure child scripts do not try to redirect output again 
  :# Second stage: Convert quoted redirection operators (Ex: ">") to a usable (Ex: >) and a displayable (Ex: ^>) value.
  :# Must be done once for each of the four < > | & operators.
  :# Since each operation removes half of ^ escape characters, then insert
  :# enough ^ to still protect the previous characters during the subsequent operations.
  set Exec.toEcho=%Exec.Cmd:"|"=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|%
  