当前位置:DOS资源站资料中心批处理教程 → 批处理在线主机扫描器

批处理在线主机扫描器

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-4-21 19:31:15

这是一个主机在线扫描器,版本为1.0,功能上有点局限性,基本上只能扫描一个网段的主机
不过以后我会出2.0的,到时将可以扫描任意两IP之间的主机
废话少说,亮亮我的扫描器


@echo off&title DOS资源站 www.cmdos.net
title 在线主机扫描器v1.0  BY CriD.CN
mode con lines=15 cols=60
color f0
setlocal enabledelayedexpansion
:prefix
set /p   prefix=  请输入IP的前缀,如192.168.0[默认]: 
if "!prefix!"=="" set prefix=192.168.0
:start
set /p   start=  请输入IP的开始为止,如1: 
call :check start lss 1
:end
set /p   end=  请输入IP的结束地址,如254: 
call :check end gtr 254
set /a count=0
if exist "result.txt" del "result.txt" /q
for /l %%i in (!start!,1,!end!) do (
  cls
  echo 正在检查192.168.0.%%i...
  echo 到目前为止,共有!count!台机器在线
  for /f "tokens=7 delims= " %%j in ('ping !prefix!.%%i^|find /i "Packets"') do (
  set ReceivedNum=%%j
  set ReceivedNum=!ReceivedNum:,=!
    if not "!ReceivedNum!"=="0" (
      set /a count+=1
      echo !prefix!.%%i>>result.txt
     )
  )
)
cls
echo 检查完毕,结果如下:
echo                   在线机器列表:
for /f "tokens=*" %%r in (result.txt) do echo    %%r
echo                共有!count!台机器在线
pause
:check %1 %2 %3
if !%1! %2 %3 (
  cls
  echo 输入有误,请重新输入!
  goto %1
)