Board logo

标题: [网络连接] 批处理如何根据一个IP段首尾的两个IP地址输出/列出两者之间所有的IP地址 [打印本页]

作者: hfg1977    时间: 2011-10-25 17:43     标题: 批处理如何根据一个IP段首尾的两个IP地址输出/列出两者之间所有的IP地址

本帖最后由 pcl_test 于 2016-9-9 15:42 编辑

批处理实现IP段扩展 (不知道专业名词叫什么)
文本里面有很多IP段
47.153.128.0 47.154.255.255
58.14.0.0 58.25.255.255
等等 很多很多

利用批处理将里面的IP段分成IP 例如118.91.0.0 118.91.255.255 这个段 分成
118.91.0.1
118.91.0.2
118.91.0.3
118.91.0.4
依次类推


于是试写了一个:  可能存在问题,请指正.
  1. @echo off
  2. :start ============================================================
  3. for /f "tokens=* usebackq" %%a in ("01.txt") do (
  4. set sIP=%%~a
  5. call set sIP=%%sIP:.= %%
  6. call echo +%%sIP%%+
  7. call:IP_EX %%sIP%%
  8. rem goto:end
  9. )
  10. :end ==============================================================
  11. endlocal&setlocal disabledelayedexpansion&echo 按任意键退出&pause>nul
  12. ::(mode con cols=80 lines=25&color 07&CHCP 437&graftabl 936)>nul
  13. for /f "tokens=2" %%a in ('CHCP') do (if not "%%a"=="437" (color 07&CHCP 437&graftabl 936))>nul
  14. exit/b
  15. echo 退出...&ping/n 4 127.1>nul
  16. for /l %%a in (5,-1,0) do (set/p =退出... ^(%%a^)<nul&ping/n 2 127.1>nul)
  17. del sed??????
  18. ::=======================MODE CODE==============================
  19. :IP_EX %1-%8
  20. set "outFile=%1.%2.%3.%4 - %5.%6.%7.%8.txt"
  21. cd.>"%outFile%"
  22. set/a p1=%1,p2=%2,p3=%3,p4=%4
  23. set/a s1=%5,s2=%6,s3=%7,s4=%8
  24. setlocal enabledelayedexpansion
  25. ::@echo on
  26. for /l %%a in (!p1!,1,!s1!) do (
  27. if %%a NEQ %1 (set/a p2=0)
  28. if %%a EQU %5 (set/a s2=%6) else (set/a s2=255)
  29. for /l %%b in (!p2!,1,!s2!) do (
  30. if %%a%%b NEQ %1%2 (set/a p3=0)
  31. if %%a%%b EQU %5%6 (set/a s3=%7) else (set/a s3=255)
  32. for /l %%c in (!p3!,1,!s3!) do (
  33. if %%a%%b%%c NEQ %1%2%3 (set/a p4=0)
  34. if %%a%%b%%c EQU %5%6%7 (set/a s4=%8) else (set/a s4=255)
  35. for /l %%d in (!p4!,1,!s4!) do (
  36. echo %%a.%%b.%%c.%%d
  37. ))))>>"%outFile%"
  38. @echo off
  39. setlocal disabledelayedexpansion
  40. goto:eof
  41. ::=======================END MODE===============================
复制代码

作者: sxw    时间: 2011-10-25 18:02

用Sort命令不行吗?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2