bat 批处理查看局域网闲置ip(ping或Arp列表结合)

因工作管理公司局域网,采用固定ip模式,由于人员变动大,导致ip难以管理。以下批处理能实时查看在线IP:

::原理介绍:先通过net view命令获取局域网的所有计算机
::(无法查询没有安装netbios协议的计算机);再ping这些计算机(ping不通也没关系)
::然后查arp缓存。
::code by youxi01@bbs.bathome.net 2008-1-7
@echo off &setlocal enabledelayedexpansion
title 局域网空闲IP查询@bbs.bathome.net
Rem '/*========获取本机的IP地址(局域网)=========*/
echo 正在获取本机的IP地址,请稍等...
for /f "tokens=3 skip=2 delims=: " %%i in ('nbtstat -n') do (
     set "IP_addr=%%i"
     set IP_addr=!IP_addr:~1,-1!
     echo 本机IP为:!IP_addr!
     goto :next
)
:next
for /f "delims=. tokens=1,2,3,4" %%i in ("%IP_addr%") do set IP_fd=%%i.%%j.%%k
Rem '/*========获取计算机名============*/
echo.&echo 正在获取局域网内计算机名,请稍等...
echo 处于网段 %IP_fd%.* 的计算机有:&echo.
for /f "delims=" %%i in ('net view') do (
     set "var=%%i"
     rem ----------获取计算机名称------------
     if "!var:~0,2!"=="\\" (
          set "var=!var:~2!"
          echo !var!
          Rem ----------ping计算机名--------------
          ping -n 1 !var!>nul
    )
)
echo.&echo -----------------------------
Rem '/*========提取arp缓存=========*/
echo.&echo 正在获取局域网内计算机IP,请稍等...& echo.
for /f "skip=3 tokens=1,* delims= " %%i in ('arp -a') do echo IP: %%i 已经使用
echo.&echo -----------------------------
echo complete .author:zhagnhong!
pause>nul

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值