从批处理文件中获取默认网关

Mas*_*erT 5 windows batch-file

我想像 IPv4 一样返回默认网关,但它返回空白。

for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do set ip=%%b
set ip=%ip:~1%
echo.
echo  IP Address is: %ip%
echo.
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所拥有的但它返回空白,我试图改变它但它仍然返回一个空白的答案。

for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "Default"') do set ip=%%b
set ip=%ip:~2%
echo.
echo  The Gateway is: %ip%
echo.
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么能做到这一点。并返回给定计算机的默认网关。

fox*_*ive 6

这是一个 WMIC 脚本:

@echo off
for /f "tokens=2,3 delims={,}" %%a in ('"WMIC NICConfig where IPEnabled="True" get DefaultIPGateway /value | find "I" "') do echo IPv4 %%~a IPV6 %%~b
pause
Run Code Online (Sandbox Code Playgroud)


Mag*_*goo 3

set "ip="
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "Default"') do if not defined ip set ip=%%b
Run Code Online (Sandbox Code Playgroud)

看一下列表ipconfig- 很可能有不止一行defaultlast因此,您将从包含以下内容的行获取数据default

上面的构造返回first包含 的行default