Все верно, но у вас к именам интерфейсов из 1-го слова лишний пробел добавляется:
set IFACE=%%b %%c
^
вот тут
лучше весь хвост netsh interface show interface после 3-го токена пихать в переменную:
@echo off
setlocal enabledelayedexpansion
set /A COUNTER=0
set IFACE=
set IFACE_IP=
echo Выберите номер сетевого интерфейса:
echo.
FOR /F "usebackq skip=2 delims=" %%a IN (`netsh interface show interface`) DO (
FOR /F "tokens=3* delims= " %%b IN (^"%%a^") DO (
set /A COUNTER+=1
set IFACE=%%c
FOR /F "usebackq skip=5 tokens=5 delims= " %%d IN (`netsh interface ipv4 show ipaddresses ^"!IFACE!^" normal`) DO (
set IFACE_IP=%%d
echo !COUNTER! - !IFACE! - !IFACE_IP!
)
)
)
pause