[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络工具] 批处理自动扫描IP、MAC地址并进行绑定

  1. set /p dz=
  2. echo %dz%>dz.txt
  3. del 1.txt /q
  4. for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dza=%%a
  5. for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dzb=%%b
  6. for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dzc=%%c
  7. for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dzd=%%d
  8. if "%dzd%"=="" goto ttt arp -a %dza%.%dzb%.%dzc%.%dzd%>1.txt
  9. del dz.txt /q
  10. del 2.txt /q
  11. :ttt
  12. if "%dzd%"=="%dzd%" goto nnn
  13. for /l %%i in (1,1,254) do arp -a %dza%.%dzb%.%dzc%.%%i>>1.txt
  14. :nnn
  15. for /f "tokens=1* delims= " %%i in ('findstr /c:"dynamic" 1.txt') do echo %%i %%j>>2.txt
  16. for /f "tokens=1* delims= " %%i in ('findstr /c:"static" 1.txt') do echo %%i %%j>>2.txt
  17. for /f "tokens=1-3 delims= " %%a in (2.txt) do arp -s %%a %%b
复制代码

很好,我正好要这东西来着``~~~学习`ing ```

TOP

呵呵,给你缩了缩水,不用临时文件。
未测试。。
:
  1. @echo off
  2. set /p dz=
  3. for /f "tokens=1-4 delims=." %%a in ("%dz%") do (
  4.   if not "%%d"=="" (call :nnn "%dz%"&exit)
  5. )
  6. for /l %%i in (1,1,254) do call :nnn "%dz%.%%i"
  7. exit
  8. :nnn
  9. for /f "tokens=1* delims= " %%e in ('arp -a %~1^|findstr "dynamic static"') do (
  10. for /f "tokens=1-3 delims= " %%j in ("%%e %%f") do arp -s %%j %%k
  11. )
  12. goto :eof
复制代码
技术问题请到论坛发帖求助!

TOP

先鼓励一下:看到了希望的寄托作品,不错不错!
不过也提几点建议:
1、
for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dza=%%a
for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dzb=%%b
for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dzc=%%c
for /f "tokens=1-4 delims=." %%a in (dz.txt) do set dzd=%%d

没必要用这么多的for,可以直接在一个for 里这样:
  1. for /f "tokens=1-4 delims=." %%a in (dz.txt) do (
  2.     set dza=%%a
  3.     set dzb=%%b
  4.     set dzc=%%c
  5.    set dzd=%%d)
复制代码
2、后面的代码还可以精简、效率可以提高

TOP

输入IP的前三位就扫描整个网段,输入全部IP就扫描所输入的IP
扫描之后都会自动绑定
如10.0.0 就扫描整个网段
10.0.0.1就扫描ip为10.0.0.1的电脑

TOP

返回列表