我想像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.
这是我到目前为止但它返回空白,我试图改变它但它仍然返回一个空白答案。
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.
我有什么想法可以做到这一点。并返回给定计算机的默认网关。
答案 0 :(得分:4)
这是一个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
答案 1 :(得分:3)
set "ip="
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "Default"') do if not defined ip set ip=%%b
查看ipconfig
列表 - 可能有多条default
行。因此,您将从包含last
default
行获取数据
上述构造返回包含first
的{{1}}行。
答案 2 :(得分:1)
for /f "tokens=1-5" %%a in ('route -4 print 0.*'
) do @if "%%e"=="" if "%%a"=="%%b" set "ip=%%c"
这将从ipv4路由表中提取默认网关。
答案 3 :(得分:0)
第一个列出的网关。
@echo off
set "ip="
for /f "tokens=2,3 delims={,}" %%a in ('"WMIC NICConfig where IPEnabled="True" get DefaultIPGateway /value | find "I" "') do if not defined ip set ip=%%~a
echo IP Mobile Address is: %ip%
pause