我写了一个BAT脚本获取指定网卡的IP地址,但是一直不成功,求大佬帮我看看

2025-03-22 15:14:20
推荐回答(4个)
回答(1):

@echo off & setlocal enabledelayedexpansion
for /f "tokens=4*" %%a in ('netsh interface show interface ^| findstr "已连接"') do set "ConName=%%~a"
echo 本机可上网网卡名称:%ConName%,回车直接输入默认可上网网卡名称
echo "以太网适配器 %ConName%"
set /p ConName=请输入可上网网卡名称:
for /f "tokens=1,2 delims=:" %%a in ('ipconfig') do (
if "%%a"=="以太网适配器 %ConName%" set "flag=1"
if "!flag!"=="1" (if "%%a"==" IPv4 地址 . . . . . . . . . . . . " set "ip=%%b")
)
echo IP=%ip%
pause

回答(2):

@echo off&setlocal EnableDelayedExpansion
for /f "tokens=3*" %%a in ('netsh interface show interface ^| findstr "已连接"') do set "ConName=%%~b"
echo 本机可上网网卡名称: %ConName%,回车直接输入默认可上网网卡名称
set /p ConName=请输入可上网网卡名称:
for /f "tokens=2 delims=:(" %%a in ('ipconfig /all^|findstr /c:"IPv4 地址"') do (
set "IP=%%a" goto ShowIP
)

:ShowIP
echo IP:%IP%
pause

回答(3):

@echo off & setlocal enabledelayedexpansion
for /f "delims=" %%a in ('ipconfig') do (
set str=%%a
set str=!str: =!
if "!str:~-6!"=="本地连接2:" set a=1
if "!str:~0,9!"=="IPAddress" if "!a!"=="1" (for /f "tokens=2 delims=:" %%b in ("!str!") do echo %%b&goto end)
) :end pause

回答(4):

if rv is not None and rsv is not None:
# extract version/subversion
self._nmap_version_number = int(line[rv.start():rv.end()])
self._nmap_subversion_number = int(line[rsv.start()+1:rsv.end()])
break
}