Назад | Перейти на главную страницу

как получить шлюз по умолчанию для определенного адаптера в 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", но я не знаю, как получить шлюз по умолчанию для этой сетевой карты.

Спасибо!

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

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

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

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

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

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

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

Источник