@echo off setlocal enabledelayedexpansion color 0a ::判断本机网段主机是否在线,并且获得主机名,ttl和mac地址 :: --by lf 2008-12-06 ::速度太慢了点,,, ::取得本机ip、mac和主机名 if "%OS%"=="Windows_NT" set "Space= " set "macself=%Space%Physical Address" set "ipself=%Space%IP Address" set "nameself=%Space%Host Name " for /f "tokens=1,* delims=." %%i in ('ipconfig /all') do ( for %%a in (macself ipself nameself) do ( if "%%i"=="!%%a!" set %%a=%%j ) ) ::如出现获取不到任何ip的情况请用下列检测,并修改Space的宽度 ::echo %macself% ::echo %ipself% ::echo %nameself% ::pause set macself=%macself:*: =% set ipself=%ipself:*: =% set nameself=%nameself:*: =% ::取得ip前三段 for /f "tokens=1,2,3 delims=." %%i in ("%ipself%") do set ipa=%%i.%%j.%%k ::开始检测 echo. Echo ┏──┤ 局域网检测工具 ├─────────────────┓ echo │ │ Echo ├──┬──主机名───┬── ip 地址──┬ttl值┬── MAC 地址──┤ ping/n 1 127.1>nul for /l %%i in (1 1 254) do ( set ip=%ipa%.%%i title Ip Address !ip! ping/n 1 /w 0.5 !ip! >nul && ( set "name=Pinging" set "tt=Reply" for /f "tokens=1,* delims= " %%i in ('ping -a -n 1 -w 0.5 !ip!') do ( for %%a in (name tt) do ( if "%%i"=="!%%a!" set %%a=%%j ) ) for /f "tokens=1 delims= " %%i in ("!name!") do set name=%%i for /f "tokens=3 delims==" %%i in ("!tt!") do set tt=%%i for /f "tokens=2 skip=3 delims= " %%i in ('arp -a !ip!') do set mac=%%i if !ip!==!ipself! ( set z=本机 set mac=!macself! set name=!nameself!) else (set z= ● ) if !name!==!ip! (set name=无法找到主机名) else ( set name=!name! set name=!name:~0,14! ) set ip=!ip! set ip=!ip:~0,15! set tt=!tt! set tt=!tt:~0,3! echo │!z!│ !name! │ !ip!│ !tt! │!mac!│ ) ) ping/n 1 127.1>nul Echo ┗──┴────────┴────────┴───┴────────┛ title 局域网检测工具 pause>nul rd /q /s "%temp%\ip\"
© 著作权归作者所有
下一篇: 备份当前服务
文章评论(0)