web-dev-qa-db-ja.com

Windows batで特定のアダプタのデフォルトゲートウェイを取得する方法は?

以下のウィンドウの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のデフォルトゲートウェイを取得する方法がわかりません。

ありがとう!

4
K. C

次のコマンドでインターフェイス名を確認します。

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
3
quanta

これはそれを得るはずです:

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

次のようなことを試してください。

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

これで、%DefaultGateway%を変数として使用できるようになります。

ソース

1
Naozumi