anchor.diff:  if .%1.==.-?. goto help
   if .%1.==./?. goto help
   if .%1.==.-h. goto help
  +if .%1.==.-l. call :findvc32 ALL & (for %%v in (!ALL!) do echo %%~v) & exit /b
   if .%1.==.-v. set "ECHO.V=call :echo" & set "ECHOVARS.V=call :echo.vars" & set "ECHO.MSVCVARS=call :echo.msvcvars" & goto next_arg
   if .%1.==.-V. echo %VERSION% & exit /b 0
   if .%1.==.-x. shift & goto exec_cmd
   if .%1.==.-X. set "NOEXEC=1" & goto next_arg
  -if "%ARCHI%"=="" set "ARCHI=%1" & goto next_arg
  ->&2 echo Warning: Unexpected argument %1 ignored
  +set ^"VCVARS_ARGS=!VCVARS_ARGS! %1^"
   goto next_arg
   
   :go
  
positive.code: :# Find the most recent 32-bits Microsoft Visual C++ instance
  
  :findvc32
  call :findvs
  for %%s in (%VSTUDIOS%) do @(
    for %%c in ("Enterprise\VC" "Professional\VC" "Community\VC" "Preview\VC" "VC" "VC7" "VC98") do @(
  
negative.code: )
  
  :# Visual Studio 2017 and later require the ARCHI parameter
  if not "%VCVARSDIR%"=="%VC%" if "%VCVARS_ARGS%"=="" set "VCVARS_ARGS=x86"
  
  :# Generate the final command
  set CMD=call "%VCVARSDIR%\vcvarsall.bat" !VCVARS_ARGS!
  if "%NOEXEC%"=="1" (
    echo %CMD%
    exit /b 0
  