批量解析IP归属地的批处理

声明:禁止修改和用于非法目的,如有做的不对的地方,欢迎联系改正。
环境:windows10家庭版+联网
说明:
一、ip文件:
1.一行一个有效ip地址;
2.保存为文本;
二、解析文件:
1.vbs+批处理,vbs改造自网上,批处理自己完成;
2.保存为后缀为bat的文件;
3.与ip文件放一个目录,输入文件名只输入文件名+后缀名;
4.不与ip文件放一个目录,输入路径+文件名+后缀名;
5.调用了外部网站的接口,一次不要解析太多ip,把接口搞挂就没得玩了(重点);
6.解析结果在ipInfo.txt;
7.解析过程中会生成vbs和txt文件,解析完都会自动删除
8.如有杀毒软件误报,可加白名单
9.如有错误,尝试管理员运行

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
set /p fileName=请输入文件名如c:\addr.txt :
for /f "tokens=* delims=" %%i in (!fileName!) do (
if not "%%i" equ "" (
call :ipGPS %%i
del /q ipFind.vbs
del /q ipFind.txt
)
)
pause
exit
:ipGps
set addr=%1
echo Set objXML = CreateObject("MSXML2.ServerXMLHTTP")>ipFind.vbs
echo Set objFSO = CreateObject("Scripting.FileSystemObject")>>ipFind.vbs
echo objXML.open "GET","http://www.cip.cc/!addr!",false>>ipFind.vbs
echo objXML.send()>>ipFind.vbs
echo Set objFile = objFSO.CreateTextFile("ipFind.txt",true)>>ipFind.vbs
echo objFile.close>>ipFind.vbs
echo Set objTextFile = objFSO.OpenTextFile ("ipFind.txt", 8, True)>>ipFind.vbs
echo objTextFile.WriteLine(objXML.responseText)>>ipFind.vbs
echo objTextFile.Close>>ipFind.vbs
start /wait wscript /t:300 ipFind.vbs
set rownumber=0
FOR /F "tokens=1,2* delims=:" %%i in (ipFind.txt) do (
if !rownumber! equ 39 (
echo IP地址:!addr!  位置:%%j
echo.
echo.
echo IP地址:!addr!  位置:%%j>>ipInfo.txt
set /A rownumber=rownumber+1
) else (
set /A rownumber=rownumber+1
)
)

(全文完)

猜你喜欢

转载自blog.csdn.net/humors221/article/details/104387242