::========================================== :: IP.bat :: v0.1 :: jinminghou.cn@2009-12-22 ::========================================== @echo off title GetIP set ip=unknown echo On Error Resume Next:Set oDOM=WScript.GetObject("http://www.jinminghou.cn/?app=ip&flag=client&temp="^&now()):Dim i:For i = 1 To 50:If oDOM.ReadyState="complete" Then Exit For:End If:WScript.Sleep 200:Next:Dim Temp:Temp=oDOM.documentElement.outerText:Set oDOM=Nothing:Temp=Mid(Temp, Instr (Temp, "[")+1, Instr(Temp, "]")-Instr(Temp, "[")-1):WScript.Echo Temp>"%temp%/GetIP.vbs" for /f "tokens=1,* delims=:" %%i in ('"cscript //nologo ^"%temp%/GetIP.vbs^"') do set ip=%%i if exist "%temp%/Getip.vbs" del "%temp%/Getip.vbs">2>nul echo Your IP: [%ip%] pause>2>nul
【方案一】BAT + VBS
复制代码 代码如下:
@echo off set "URL=http://www.ip138.com/ip2city.asp" >%temp%/download.vbs echo Set objDOM = WScript.GetObject(WScript.Arguments(0)) >>%temp%/download.vbs echo Do Until objDOM.ReadyState = "complete" >>%temp%/download.vbs echo WScript.Sleep 100 >>%temp%/download.vbs echo Loop >>%temp%/download.vbs echo WScript.Echo objDOM.DocumentElement.OuterText for /f "tokens=2 delims=[]" %%a in ('cscript //nologo //e:vbscript %temp%/download.vbs "%URL%"') do ( set "PublicIP=%%a" ) echo,%PublicIP% pause
【方案二】BAT + wget.exe(GNU)
复制代码 代码如下:
@echo off set "URL=http://www.ip138.com/ip2city.asp" for /f "tokens=2 delims=[]" %%a in ('wget -q "%URL%" -O -') do ( set "PublicIP=%%a" ) echo,%PublicIP% pause
【方案三】BAT + curl.exe(GNU)
复制代码 代码如下:
@echo off set "URL=http://www.ip138.com/ip2city.asp" for /f "tokens=2 delims=[]" %%a in ('curl -s "%URL%"') do ( set "PublicIP=%%a" ) echo,%PublicIP% pause