IP地址段如何批量转换
新建一个bat,粘贴以下代码,在新建一个ip里面全是这样的
139.208.0.0/13 会批量转换成 139.208.0.1-139.215.255.255
@ECHO OFF
FOR /F "tokens=1,2,3,4,5 delims=./" %%a IN (ip.txt) DO CALL :SUB_PARSE %%a %%b %%c %%d %%e
GOTO :eof
:SUB_PARSE
SET /a v=( %1 "<<" 24 ) "|" ( %2 "<<" 16 ) "|" ( %3 "<<" 8 ) "|" %4
SET /a m=(-1) "<<" (32 - %5)
SET /a x=(v "&" m) + 1
SET /a y=v "|" ("~" m)
SET /a x1=((x ">>" 24) + 256) "&" 0x000000FF
SET /a x2=(((x "<<" 8) ">>" 24) + 256) "&" 0x000000FF
SET /a x3=(((x "<<" 16) ">>" 24) + 256) "&" 0x000000FF
SET /a x4=(((x "<<" 24) ">>" 24) + 256) "&" 0x000000FF
SET /a y1=((y ">>" 24) + 256) "&" 0x000000FF
SET /a y2=(((y "<<" 8) ">>" 24) + 256) "&" 0x000000FF
SET /a y3=(((y "<<" 16) ">>" 24) + 256) "&" 0x000000FF
SET /a y4=(((y "<<" 24) ">>" 24) + 256) "&" 0x000000FF
ECHO %x1%.%x2%.%x3%.%x4%-%y1%.%y2%.%y3%.%y4%>>test.txt
GOTO :eof
共有 0 条评论