找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18582|回复: 0

[网络连接] 批处理扫描局域网电脑,列出 MAC、IP 和 计算机名

[复制链接]
发表于 2022-4-20 11:31:37 | 显示全部楼层 |阅读模式
原帖在回复中。为了方便大家搜索,发一个主题帖。

功能:对局域网进行扫描,列出Win系统的MAC/IP/计算机名。适用XP/Win7,其他未测试。
命令:主要使用Ping检查是否通,再用nbtstat查询电脑3信息。
耗时:ping命令使用超时返回,因此速度很快;而nbtstat命令没有相关参数,遇到无效设备时浪费很多时间。修改IP扫描范围可减少耗时。
缺陷:非Win电脑设备耗时较长,如:Linux服务器、考勤机等。ping延时较长的电脑可能漏检,原因是命令中设置了99ms的返回时间,可自行修改。
  1. ::扫描IP名MAC.bat::XP/Win7::
  2. ::ping -n 1 -w 99 %ip%/ping -a/arp -a
  3. ::nbtstat -a %ip%
  4. @echo off
  5. setlocal enableDelayedExpansion
  6. set "ip3=192.168.1"
  7. for /l %%i in (1,1,254)do (%_起始IP_步长_终止IP_%
  8.         set "MAC="
  9.         call :CheckIPstatus %ip3%.%%i&&call :GetIPNameMAC %ip3%.%%i Name MAC
  10.         if !errorlevel! equ 0 echo/[!MAC!]        [%ip3%.%%i]        [!Name!]
  11. )
  12. pause
  13. goto :eof
  14. ::[完]

  15. ::ping是否通:返回码stat=失败/Lost
  16. :CheckIPstatus IP
  17. for /f "tokens=3 delims=,," %%p in ('"ping -n 1 -w 99 %1|findstr /i "数据包 Packets""')do (
  18.         for /f "tokens=3" %%s in ("%%p")do set "stat=%%s"
  19. )
  20. exit/b %stat%

  21. ::nbtstat查ip对应计算机名、MAC
  22. :GetIPNameMAC IP Name MAC
  23. setlocal
  24. for /f "delims=" %%n in ('"nbtstat -a %1|findstr /ic:"唯一" /c:"UNIQUE" /c:"MAC ""')do (
  25.         set "nbt=%%n"
  26.         set "nbt=!nbt:<= !"
  27.         set "nbt=!nbt:>=!"
  28.         if "!nbt:唯一=!!nbt:UNIQUE=!" neq "!nbt!!nbt!" for /f %%m in ("!nbt!")do set "Name=%%m"
  29.         if "!nbt:MAC=!" neq "!nbt!" for /f "tokens=4" %%m in ("!nbt!")do set "MAC=%%m"
  30. )
  31. if "%MAC%"=="" (set Bcode=1)else set Bcode=0
  32. endlocal&set %2=%Name%&set %3=%MAC%&exit/b %Bcode%
复制代码
改进建议:如有很多非Win电脑设备(nbtstat命令无法识别的设备),可以考虑使用临时文件以加快速度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 08:56 , Processed in 0.016761 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表