如何在 Windows bat 中获取某个适配器的默认网关?

如何在 Windows bat 中获取某个适配器的默认网关?

请参阅 Windows 中的以下 ipconfig 输出。

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

我想在 bat 文件中找到无线网络连接 14 的默认网关,然后将其存储在变量中以供以后使用

我知道我可以“findstr”,但我不知道如何获取该 NIC 的默认网关。

谢谢!

答案1

使用以下命令验证接口名称:

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

答案2

这应该可以得到它:

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

答案3

尝试以下方法:

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

然后您应该能够使用 %DefaultGateway% 作为变量。

来源

相关内容