首页 > 编程 > BAT > 正文

获取外网IP地址的批处理代码

2020-07-26 20:23:43
字体:
来源:转载
供稿:网友

复制代码 代码如下:

::==========================================
:: 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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表