Как получить шлюз по умолчанию определенного адаптера в Windows Bat?

Пожалуйста, смотрите ниже вывод ipconfig в Windows.

C:>ipconfig

Windows IP Configuration


Ethernet adapter Local Area Connection 11:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::4149:4c25:692d:dfec%91
   IPv4 Address. . . . . . . . . . . : 10.252.26.84
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Wireless LAN adapter Wireless Network Connection 15:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter Local Area Connection 10:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wireless Network Connection 14:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::79a2:afc8:7cd0:79ac%72
   IPv4 Address. . . . . . . . . . . : 192.168.10.9
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.10.1

Я хочу найти шлюз по умолчанию для беспроводного сетевого подключения 14 в файле bat, а затем сохранить его в другом варианте для последующего использования.

Я понимаю, что могу "findstr", но я не знаю, как получить шлюз по умолчанию этого сетевого адаптера.

Спасибо!

3 ответа

Решение

Проверьте имя интерфейса с помощью:

netsh interface ip show address

и попробуйте что-то вроде этого:

@echo off

for /f "tokens=2 delims=:" %%g in ('netsh interface ip show address 
"Wireless Network Connection 14" ^| findstr "Default"') do 
set DefaultGateway=%%g
echo %DefaultGateway%
pause

Это должно получить это:

wmic nicconfig where "description like '%wireless%'" get caption, defaultipgateway

Попробуйте что-то вроде:

@For /f "tokens=3" %%* in (
    'route.exe print ^|findstr "\<0.0.0.0\>"'
) Do @Set "DefaultGateway=%%*"

После этого вы сможете использовать%DefaultGateway% в качестве переменной.

Источник

Другие вопросы по тегам