anchor.diff:    )
   )
   echo.
  -
  
positive.code: 	if "!prop:~-1!"==" " set "prop=!prop:~0,-1!"
  	%PUTVARS.D% prop val
  	:# Now check if the description identifies this as a virtual interface
  	if "!prop!"=="!description!" if not "!val:Virtual=!"=="!val!" (
  	  %ECHO.D% It's a virtual adapter!
  	  set "ADAPTER[!NADAPTER!].TYPE=%type.Vir%"
  	)
        )
      )
  
negative.code: :#   2015-02-24 JFL Fixed the -i option for VPN interfaces without a MAC@.    #
  :#                  Updated -i to display all interfaces by default.          #
  :#   2020-09-03 JFL Fixed the virtual adapter detection for English.          #
  :#   2020-10-13 JFL Also search the adapter name in the description field.    #
  :#                  Added a special case for the Pulse Secure VPN.            #
  :#   2020-10-15 JFL Generalized the ability to define alias names and types.  #
  :#                                                                            #
  :#          Copyright 2016 Hewlett Packard Enterprise Development LP         #
  :# Licensed under the Apache 2.0 license  www.apache.org/licenses/LICENSE-2.0 #
  :##############################################################################
  
  setlocal enableextensions enabledelayedexpansion
  set "VERSION=2020-10-15"
  set "SCRIPT=%~nx0"
  set "ARG0=%~f0"
  
  :# User-defined alias(es) for complex adapter names
  set "ALIAS.NAMES=VPN" &:# Space-delimited list of alias names, each one used as index below
  :# Define sets of variables ALIAS[name].NAME, ALIAS[name].TYPE, ALIAS[name].HELP
  set "ALIAS[VPN].NAME=Juniper"	&:# The first word(s) in the adapter name
  set "ALIAS[VPN].TYPE=Vir"	&:# One of: Eth Ppp Tun Vir Wir
  set "ALIAS[VPN].HELP=The Juniper Networks Pulse Secure VPN virtual adapter"
  
  :# FOREACHLINE macro. (Change the delimiter to none to catch the whole lines.)
  set FOREACHLINE=for /f "delims="
  