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

[网络连接] 如何写一个查询IP的批处理啊

[复制链接]
发表于 2014-10-21 11:41:41 | 显示全部楼层 |阅读模式
求助有没有大大知道怎么才能做一个查询内网一个网段中开机的计算机名+ip地址的批处理并导出为TXT的有吗?
发表于 2014-10-21 12:30:23 | 显示全部楼层
 楼主| 发表于 2014-10-21 12:56:08 | 显示全部楼层
回复 2# Batcher


    多谢 大大的指导
发表于 2014-10-21 13:22:11 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion & title 局域网扫描
  2. set /p net=输入网段(默认192.168.1):
  3. if "%net%"=="" set net=192.168.1
  4. set /p start=输入起始IP地址(默认起始地址为1):
  5. if "%start%"=="" set start=1
  6. set /p end=输入终止IP地址(默认终止地址为254):
  7. if "%end%"=="" set end=254
  8. set "txt=局域网在线IP扫描结果.txt"
  9. set n=0
  10. set m=0
  11. >>%txt% echo 扫描地址:%net%.%start% - %net%.%end%
  12. echo.在线IP                MAC地址                        计算机名
  13. for /l %%a in (%start% 1 %end%) do (
  14.         set /p a="%net%.%%a"<nul
  15.         ping %net%.%%a -n 1 -w 50 >nul
  16.         if errorlevel 1 (
  17.                 cd.
  18.         ) else (
  19.                 for /l %%i in (1,1,15) do (set /p=<nul)
  20.                 set /p=%net%.%%a        <nul
  21.                 for /f "tokens=1*" %%b in ('nbtstat -a %net%.%%a^|findstr "<00>.*唯一 MAC <00>.*UNIQUE"') do (
  22.                         if "%%b"=="MAC" (
  23.                                 for /f "tokens=2 delims== " %%d in ("%%c") do (
  24.                                         <nul set /p=%%d      
  25.                                         <nul set /p=!pcn!               
  26.                                         >>%txt% echo %net%.%%a        %%d        !pcn!
  27.                                         set /a n+=1
  28.                                 )
  29.                         ) else (
  30.                                 set pcn=%%b
  31.                                 if "!pcn:~-4!"=="<00>" set pcn=!pcn:~0,-4!
  32.                         )
  33.                         set q=1
  34.                 )
  35.                 if "!q!" neq "1" for /f "tokens=2" %%b in ('arp -a %net%.%%a^|findstr "%net%.%%a.*-[a-f0-6]"') do <nul set /p=%%b        &<nul set /p=-&set /a m+=1
  36.                 echo.
  37.                 set q=
  38.                 set /p="192.168.1.%%a"<nul
  39.         )
  40.         for /l %%i in (1,1,15) do (set /p=<nul)
  41. )
  42. >>%txt% echo 扫描结果:%n%台在线计算机 %m%台其它设备 (%date% %time:~0,8%)
  43. (for /l %%a in (1 1 60) do <nul set /p=-)>>%txt%
  44. echo,>>%txt%
  45. set /p=扫描完成,发现%n%台在线计算机。<nul
  46. if "%m%" neq "0" set /p=%m%台其它设备。<nul

  47. echo.
  48. echo.结果保存在“%txt%”
  49. pause
  50. start "" %txt%
复制代码
发表于 2014-10-21 14:56:31 | 显示全部楼层
xuexixiexie!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 19:27 , Processed in 0.032428 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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