求助 目的 是 显示局域网内的 计算机名称 和对应的 IP地址
在网上有个代码 可以分别找到 计算机名称 和IP地址
但是不是对应显示 我想是对应显示
我想要效果 如下
计算机名称 IP地址
-------------------------------------------------------------------------
分享网上代码 可以运行的
////////////////////////////////////////////////////////////////////////////////////////////////////- CLS
-
- @ECHO Off
-
- Title 查询局域网内在线电脑IP
-
- :send
-
- @ECHO off&setlocal enabledelayedexpansion
- ECHO 正在获取本机的IP地址,请稍等...
-
- @echo off
- for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
- set IP=%%a
- )
- echo %IP%
-
-
- for /f "delims=. tokens=1,2,3,4" %%i in ("%IP%") do set range=%%i.%%j.%%k
- ECHO.&ECHO 正在获取本网段内的其它在线计算机名,请稍等...
- ECHO 本网段【%range%.*】内的计算机有:
- for /f "delims=" %%i in ('net view') do (
- set "var=%%i"
- ::查询在线计算机名称
- if "!var:~0,2!"=="\\" (
- set "var=!var:~2!"
- ECHO !var!
- ping -n 1 !var!>nul
- ))
-
- ECHO.
- ECHO 正在获取本网段内的其它在线计算机IP,请稍等...
- for /f "skip=3 tokens=1,* delims= " %%i in ('arp -a') do ECHO IP:正在使用 %%i
- ECHO.
- ECHO 查询完毕,按任意键退出...
- pause>nul
-
- ECHO 正在获取局域网内在线电脑IP地址,请稍等...
- arp -a
- pause
复制代码 ///////////////////////////////////////////////////////////////////////
下面是我写的代码 我根据上面修改的 但是不通过- CLS
-
- @ECHO Off
-
- Title 查询局域网内在线电脑IP
-
- :send
-
- @ECHO off&setlocal enabledelayedexpansion
- ECHO 正在获取本机的IP地址,请稍等...
-
- @echo off
- for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
- set IP=%%a
- )
- echo %IP%
-
- pause
- for /f "delims=. tokens=1,2,3,4" %%i in ("%IP%") do set range=%%i.%%j.%%k
- ECHO.&ECHO 正在获取本网段内的其它在线计算机名,请稍等...
- ECHO 本网段【%range%.*】内的计算机有:
- for /f "delims=" %%i in ('net view') do (
- set "var=%%i"
- ::查询在线计算机名称 截取字符
- if "!var:~0,2!"=="\\" (
- set "var=!var:~2!"
- ECHO !var!
- ECHO ping -n 1 !var!
-
- for /f "delims= tokens=1" %%a in ('ping !var!') do (
- ECHO %%a
- )
- ping -n 1 !var!>nul
- ))
-
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::ECHO %%myip
- ::获得ping 内容 第一行 循环获得每个IP第一行内容
-
-
- pause
复制代码 请高手指点一下 刚接触Bat |