标题: [系统相关] 求助批处理显示局域网内的 计算机名称 和对应的 IP地址 [打印本页]
作者: 闻启学 时间: 2022-3-31 11:04 标题: 求助批处理显示局域网内的 计算机名称 和对应的 IP地址
求助 目的 是 显示局域网内的 计算机名称 和对应的 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
作者: Batcher 时间: 2022-3-31 14:04
回复 1# 闻启学 - @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('net view') do (
- set "var=%%i"
- REM 查询在线计算机名称
- if "!var:~0,2!"=="\\" (
- set "var=!var:~2!"
- REM 查询某个计算机的IP
- for /f "tokens=2 delims=[]" %%a in ('ping -n 1 "!var!" ^| findstr /i /c:"正在" /c:"Pinging"') do (
- echo !var! %%a
- )
- )
- )
- pause
复制代码
作者: Batcher 时间: 2022-4-1 10:13
回复 1# 闻启学 - @echo off
- for /f "delims=\" %%i in ('net view') do (
- echo 正在处理计算机名称 %%i
- for /f "tokens=2 delims=[]" %%a in ('ping -n 1 "%%i" ^| findstr /i /c:"正在" /c:"Pinging"') do (
- echo !var! %%a
- )
- )
- pause
复制代码
作者: Batcher 时间: 2022-4-1 11:05
回复 1# 闻启学 - @echo off
- for /f "delims=\ " %%i in ('net view ^| findstr /b /c:"\\"') do (
- echo 正在处理计算机---%%i---
- for /f "tokens=2 delims=[]" %%a in ('ping -n 1 "%%i" ^| findstr /i /c:"正在" /c:"Pinging"') do (
- echo !var! %%a
- )
- )
- pause
复制代码
作者: cutebe 时间: 2022-4-1 19:08
本帖最后由 cutebe 于 2022-4-1 19:10 编辑
- ::扫描IP名MAC.bat::XP/Win7::
- ::ping -n 1 -w 99 %ip%/ping -a
- ::nbtstat -a %ip%
- @echo off
- setlocal enableDelayedExpansion
- set "ip3=192.168.1"
- for /l %%i in (1,1,254)do (
- rem echo %%i
- call :CheckIPstatus %ip3%.%%i&&call :GetIPNameMAC %ip3%.%%i Name MAC
- if !errorlevel! equ 0 echo/[%ip3%.%%i] [!Name!] [!MAC!]
- )
- pause
- goto :eof
- ::[完]
-
- ::ping是否通:返回码stat=失败/Lost
- :CheckIPstatus
- for /f "tokens=3 delims=,," %%p in ('"ping -n 1 -w 99 %1|findstr /i "数据包 Packets""')do (
- for /f "tokens=3" %%s in ("%%p")do set "stat=%%s"
- )
- exit/b %stat%
-
- ::nbtstat查ip对应计算机名、MAC
- :GetIPNameMAC IP Name MAC
- setlocal
- for /f "delims=" %%n in ('"nbtstat -a %1|findstr /ic:"唯一" /c:"UNIQUE" /c:"MAC ""')do (
- set "nbt=%%n"
- set "nbt=!nbt:<= !"
- set "nbt=!nbt:>=!"
- if "!nbt:唯一=!!nbt:UNIQUE=!" neq "!nbt!!nbt!" for /f %%m in ("!nbt!")do set "Name=%%m"
- if "!nbt:MAC=!" neq "!nbt!" for /f "tokens=4" %%m in ("!nbt!")do set "MAC=%%m"
- )
- if "%MAC%"=="" (set Bcode=1)else set Bcode=0
- endlocal&set %2=%Name%&set %3=%MAC%&exit/b %Bcode%
复制代码
作者: internet20 时间: 2022-4-2 08:06
net view显示服务未启动
网上解决方法不行
Services.msc
让以下这三个命令都启动就OK了
Computer Browser,Workstation,Server
其中在启动Computer Browser之前,要先启用Workstation服务。
作者: 闻启学 时间: 2022-4-2 08:55
多谢楼上各位指导
作者: internet20 时间: 2022-4-2 08:59
请问“闻启学”,你的net view能用?
作者: 闻启学 时间: 2022-4-6 10:44
回复 8# internet20
可以啊 怎么了
作者: 闻启学 时间: 2022-4-6 10:49
回复 8# internet20
你看看是不是防火 墙之类的 阻碍 啊
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |