本帖最后由 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
依次类推
于是试写了一个: 可能存在问题,请指正.- @echo off
- :start ============================================================
- for /f "tokens=* usebackq" %%a in ("01.txt") do (
- set sIP=%%~a
- call set sIP=%%sIP:.= %%
- call echo +%%sIP%%+
- call:IP_EX %%sIP%%
- rem goto:end
- )
-
- :end ==============================================================
- endlocal&setlocal disabledelayedexpansion&echo 按任意键退出&pause>nul
- ::(mode con cols=80 lines=25&color 07&CHCP 437&graftabl 936)>nul
- for /f "tokens=2" %%a in ('CHCP') do (if not "%%a"=="437" (color 07&CHCP 437&graftabl 936))>nul
- exit/b
- echo 退出...&ping/n 4 127.1>nul
- for /l %%a in (5,-1,0) do (set/p =退出... ^(%%a^)<nul&ping/n 2 127.1>nul)
- del sed??????
- ::=======================MODE CODE==============================
- :IP_EX %1-%8
- set "outFile=%1.%2.%3.%4 - %5.%6.%7.%8.txt"
- cd.>"%outFile%"
- set/a p1=%1,p2=%2,p3=%3,p4=%4
- set/a s1=%5,s2=%6,s3=%7,s4=%8
- setlocal enabledelayedexpansion
- ::@echo on
- for /l %%a in (!p1!,1,!s1!) do (
- if %%a NEQ %1 (set/a p2=0)
- if %%a EQU %5 (set/a s2=%6) else (set/a s2=255)
- for /l %%b in (!p2!,1,!s2!) do (
- if %%a%%b NEQ %1%2 (set/a p3=0)
- if %%a%%b EQU %5%6 (set/a s3=%7) else (set/a s3=255)
- for /l %%c in (!p3!,1,!s3!) do (
- if %%a%%b%%c NEQ %1%2%3 (set/a p4=0)
- if %%a%%b%%c EQU %5%6%7 (set/a s4=%8) else (set/a s4=255)
- for /l %%d in (!p4!,1,!s4!) do (
- echo %%a.%%b.%%c.%%d
-
- ))))>>"%outFile%"
- @echo off
- setlocal disabledelayedexpansion
- goto:eof
- ::=======================END MODE===============================
复制代码
|