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

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

[复制链接]
发表于 2011-10-25 17:43:33 | 显示全部楼层 |阅读模式
本帖最后由 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===============================


复制代码
发表于 2011-10-25 18:02:49 | 显示全部楼层
用Sort命令不行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 02:20 , Processed in 0.014632 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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