标题: [文本处理] 如何获取指定网络连接对应的IP地址 [打印本页]
作者: test 时间: 2020-3-19 01:45 标题: 如何获取指定网络连接对应的IP地址
参照
http://bbs.bathome.net/thread-32288-1-1.html
写了获取多网卡系统中指定网络连接对应的IP地址- @echo off
- REM 设置网络适配器的名称
- REM 英文系统一般是:Local Area Connection
- REM set "AdapterName=Local Area Connection"
- REM 中文系统一般是:本地连接
- set "AdapterName=本地连接"
- set "WireName=无线网络连接"
- set "FileTmp=%temp%\ipList.txt"
- ipconfig /all >"%FileTmp%"
- for /f "delims=:" %%i in ('findstr /n /c:"%AdapterName%" "%FileTmp%"') do (
- set "SkipRow=%%i"
- goto :DoSkip
- )
-
- :DoSkip
- for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr /v "IPv6" ^|findstr "IP"') do (
- set "IP=%%i"
- goto :ShowResult
- )
-
- :ShowResult
- for /f "delims=:" %%i in ('findstr /n /c:"%WireName%" "%FileTmp%"') do (
- set "SkipRow1=%%i"
- goto :1
- )
-
- :1
- for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow1% "%FileTmp%" ^| findstr /v "IPv6" ^|findstr "IP"') do (
- set "WIP=%%i"
- goto :2
- )
-
- :2
- echo,%IP%
- echo,%WIP%
- pause
复制代码
问题来了,如果无线未连接时,无线IP也会显示,与有线IP相同,这要怎么处理,或是用别的代码
作者: testest 时间: 2020-3-19 10:34
- @echo off & setlocal enabledelayedexpansion
-
- for /f "tokens=1 delims=[]" %%i in ('nbtstat -S^|find /n "本地连接:"') do (
- nbtstat -S | more +%%i >$
- set /p Str=<$
- del $
- for /f "tokens=2 delims=[]" %%i in ('echo "!Str!"') do set LIP=%%i
- )
- for /f "tokens=1 delims=[]" %%i in ('nbtstat -S^|find /n "无线网络连接:"') do (
- nbtstat -S | more +%%i >$
- set /p Str=<$
- del $
- for /f "tokens=2 delims=[]" %%i in ('echo "!Str!"') do set WIP=%%i
- )
- echo 本机有线IP为:%LIP%
- echo 本机无线IP为:%WIP%
- pause
复制代码
好像64位系统下不能运行,32位可以,高手来个通用的
作者: xczxczxcz 时间: 2020-3-19 17:53
- # 可以试试。
- Get-NetIPConfiguration|%{$_.IPv4Address}|%{$_.InterfaceAlias+': '+$_.IPAddress}
复制代码
作者: flashercs 时间: 2020-3-19 20:46
回复 3# xczxczxcz
需要注明 ps3.0以上
作者: flashercs 时间: 2020-3-19 22:37
- @echo off
- REM 设置网络连接名称
- set "NetConnectionID=Ethernet0"
- set IPAddress=
- for /f "tokens=1" %%A in ('wmic nic where "NetConnectionID='%NetConnectionID%'" assoc:list /resultclass:win32_networkadapterconfiguration^|find /i "ipaddress="') do set %%A
- echo."%NetConnectionID%" 的 IPAddress=%IPAddress%
- pause
- exit /b
复制代码
作者: test 时间: 2020-3-19 23:11
回复 3# xczxczxcz
没啥效果,报错
作者: test 时间: 2020-3-19 23:12
flashercs 发表于 2020-3-19 22:37
也没啥用啊,显示- No Instance(s) Available.
- "Ethernet0" 的 IPAddress=
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |