批处理获取当前外网IP

发布时间:2024-05-22 09:22 发布:上海旅游网

问题描述:

利用批处理来获取当前外网的IP地址:
有路由器和直接拨号的用户都可以
没人知道吗

问题解答:

当然可以实现,以下是通用版的啦.不管是否路由上网,还是拨号上网,都可以!,代码如下:

@echo off
<"%~f0" more +6 >tmp.vbs
cscript /nologo tmp.vbs
pause
goto :eof

set http=createobject("Microsoft.XMLHTTP")
ipp="http://www.ip138.com/ip2city.asp"
http.open "get",ipp,false
http.send
ss=bytes2BSTR(Http.responsebody)
intStrA = InStr(1,ss,"[",1)+1
sss=mid(ss,intStrA)
intStrB = InStr(1,sss,"]",1)-1
ss=mid(ss,intStrA,intStrB)
wscript.echo ss

Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function

但是这样速度稍微会慢一些的,你如果想快点,直接把如下的VBS代码保存成.vbs文件,直接用cscript来调用速度更快一些哈

热点新闻