楼 主
获取公网IP并赋值到某个变量。
发表于 2006-11-09 10:52 · 中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253 发帖 112 注册 2006-05-31 11:12 UID 56308 性别 男
状态 离线
请问大家怎么能获取当前机器的外部IP,(不要给我诸如192.168..开头的结果)并赋值到%IP%
我是在网吧。
(百兆光纤)上网,
在命令行输入ipconfig /all
--------------------------------------------------------
Windows IP Configuration
Host Name . . . . . . . . . . . . : 029
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接 2:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek RTL8139 Family PCI Fast Ethernet NIC
Physical Address. . . . . . . . . : 00-14-78-38-33-C1
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.1.36
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.253
DNS Servers . . . . . . . . . . . : 202.101.224.68
202.101.226.68
Lease Obtained. . . . . . . . . . : 2006年11月8日 21:01:14
Lease Expires . . . . . . . . . . : 2038年1月19日 11:14:07
本人才疏浅,望各位大侠不吝赐教,另感谢lxmxn的多次指教,尽管问题没有彻底解决。
[ Last edited by junyee on 2006-11-9 at 11:27 AM ]
第 2 楼
发表于 2006-11-09 11:19 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
我一直是PPPOE,没有在网吧玩过,试试下面的脚本吧,vbs的。
Set objXML = WScript.GetObject("http://www.ip138.com")
While objXML.readyState = "loading"
WScript.Sleep 100
Wend
Set coll = objXML.getElementsByTagName("td")
WScript.Echo coll(9).innertext
Set objXML = Nothing
第 3 楼
发表于 2006-11-09 11:25 · 中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253 发帖 112 注册 2006-05-31 11:12 UID 56308 性别 男
状态 离线
用倒是有用,,不过我不太懂VBS。
能不能在BAT里调用???
再赋值到%IP%
第 4 楼
发表于 2006-11-09 11:29 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493 发帖 2,672 注册 2005-09-02 00:00 UID 42173 性别 男
状态 离线
GetIP.bat
@echo off
<"%~f0" more +5 >tmp.vbs
cscript //NoLogo /e:vbscript tmp.vbs %1
del tmp.vbs
goto:eof
set oDOM = WScript.GetObject("http://www.ip138.com/")
do until oDOM.readyState = "complete"
WScript.sleep 200
Loop
s=oDOM.all(51).innerText
WScript.Echo Right(s,Len(s)-8)
大家测试
C:\> BLOG http://initiative.yo2.cn/
C:\> hh.exe ntcmds.chm::/ntcmds.htm
C:\> cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll /10/5432'>"
第 5 楼
发表于 2006-11-09 11:32 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493 发帖 2,672 注册 2005-09-02 00:00 UID 42173 性别 男
状态 离线
3742668版主写代码回帖超级快啊~~
[ Last edited by electronixtar on 2006-11-9 at 11:33 AM ]
C:\> BLOG http://initiative.yo2.cn/
C:\> hh.exe ntcmds.chm::/ntcmds.htm
C:\> cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll /10/5432'>"
第 6 楼
发表于 2006-11-09 11:32 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
保存2F的脚本为 getIP.vbs
在你的批处理中用for调用:
for /f "delims=: tokens=2" %%i in ('cscript //nologo getIP.vbs') do set "ip=%%i"
注意delims=后面的冒号须在中文输入法下输入,否则得不到正确结果。
第 7 楼
发表于 2006-11-09 11:35 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
Originally posted by electronixtar at 2006-11-9 11:32:
3742668版主写代码回帖超级快啊~~
[ Last edited by electronixtar on 2006-11-9 at 11:33 AM ]
不容易出来放一次风,不动作快点怎么行?
第 8 楼
发表于 2006-11-09 11:42 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493 发帖 2,672 注册 2005-09-02 00:00 UID 42173 性别 男
状态 离线
献给偶敬爱的3742668版主:
1234 567 多难得啊,贴图纪念!
[ Last edited by electronixtar on 2006-11-9 at 11:44 AM ]
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
redtek
+2
2006-11-09 21:11
C:\> BLOG http://initiative.yo2.cn/
C:\> hh.exe ntcmds.chm::/ntcmds.htm
C:\> cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll /10/5432'>"
第 9 楼
发表于 2006-11-09 11:43 · 中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253 发帖 112 注册 2006-05-31 11:12 UID 56308 性别 男
状态 离线
第 10 楼
发表于 2006-11-09 20:59 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 UID 59080
状态 离线
将 electronixtar 兄四楼的代码修改一下,因为我在测试的时候,发现CMD窗口很快就消失了,来不及看见ip。
@echo off
<"%~f0" more +5 >tmp.vbs
cscript //NoLogo /e:vbscript tmp.vbs %1
pause && del tmp.vbs
goto:eof
set oDOM = WScript.GetObject("http://www.ip138.com/")
do until oDOM.readyState = "complete"
WScript.sleep 200
Loop
s=oDOM.all(51).innerText
WScript.Echo Right(s,Len(s)-8)
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正