Creando un archivo por lotes para identificar la conexión a Internet activa

ntento escribir un archivo por lotes que permitirá al usuario seleccionar su conexión a Internet activa si hay más de una lista generada por el comando netsh y luego cambiar la configuración de DNS.

Sin embargo, no puedo entender cómo usar el comando de elección cuando se conoce el número de opciones hasta que se ejecuta el script. Sin el uso de matrices, he intentado crear una 'elección' de variable de cadena para contener la cadena que representa las opciones numéricas y pasarla al comando de elecciones, pero no puedo hacer que funcione. No puedo evitar sentir que debe haber una manera mucho más fácil de hacer esto, pero mi investigación no me lo demuestra. Cualquier ayuda sería recibida con gratitud.

@echo off
setlocal
Set active=0
Set choices=1
set ConnnectedNet=
FOR /F "tokens=2,3* " %%j in ('netsh interface show interface ^| find "Connected"') do Set /A active+=1
FOR /L %%G IN (2,1,%active%) do (set choices=%choices%%%G)
if %active% lss 2 goto :single
if %active% gtr 1 goto :multiple
:single
FOR /F "tokens=2,3* " %%j in ('netsh interface show interface ^| find "Connected"') do set ConnnectedNet=%%l
netsh interface IPv4 set dnsserver "%ConnnectedNet%" static 0.0.0.0 both
goto :eof
:multiple
echo You have more than one active interface. Please select the interface which you are using to connect to the Internet
FOR /F "tokens=2,3* " %%j in ('netsh interface show interface ^| find "Connected"') do echo %%l
CHOICE /C:%choices% /N /T:1,10

Respuestas a la pregunta(1)

Su respuesta a la pregunta