[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] VBS如何获取外网IP/公网IP?

本帖最后由 pcl_test 于 2016-9-6 00:18 编辑

要实现的功能:运行vbs后,检测外网IP,然后用msgbox提示:“您的外网IP为:***.***.***.***”,然后将IP地址复制到粘帖版中!

[ 本帖最后由 alpha 于 2010-12-20 23:51 编辑 ]

没人知道么?????

TOP

你是不会获取外网IP?还是不会复制到粘贴板?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 pcl_test 于 2017-6-21 21:31 编辑
  1. @echo off
  2. (echo Set oDOM=WScript.GetObject("http://ip.chinaz.com/getip.aspx"^)
  3. echo Do Until oDOM.readyState="complete"
  4. echo WScript.sleep 10
  5. echo Loop
  6. echo WScript.echo split(oDOM.documentElement.outerText,"'"^)(1^))>Getip.vbs
  7. for /f "delims=" %%i in ('cscript //nologo Getip.vbs') do echo,您的外网IP为:%%i&del Getip.vbs&pause&exit
复制代码
这是我目前的bat代码,如何只将IP地址复制到粘帖版中?并且msgbox提示。(最好能够简化一下代码)

TOP

批处理、VBS剪贴板操作专题
http://bbs.bathome.net/thread-8329-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 pcl_test 于 2017-6-21 21:14 编辑

这是我目前的vbs脚本:
  1. Set oDOM=WScript.GetObject("http://1212.ip138.com/ic.asp")
  2. Do Until oDOM.readyState="complete"
  3. WScript.sleep 200
  4. Loop
  5. str = Split(oDOM.documentElement.outerText,"[")
  6. Set oDOM=nothing
  7. ip = Split(str(1),"]")
  8. Set objIE = CreateObject("InternetExplorer.Application")
  9. objIE.Navigate("about:blank")
  10. objIE.document.parentwindow.clipboardData.SetData "text", ip(0)
  11. msgbox "IP: [" & ip(0) & "] 已经复制到剪贴板!",64,"OK!"
复制代码
请问如何关闭上述代码中打开IE的功能?

TOP

没人知道么?顶起来!

TOP

5楼帖子中的链接不是给了很多方法吗?
  1. ip="127.0.0.1"
  2. Set ws = CreateObject("WScript.Shell")
  3. ws.run "mshta ""javascript:clipboardData.setData('text', '" & ip & "');close();""", 0, true
复制代码

TOP

本帖最后由 pcl_test 于 2017-6-15 19:39 编辑
  1. Set ie=CreateObject("InternetExplorer.Application")
  2. ie.Visible=false
  3. ie.navigate "http://ip.cn/"
  4. Do
  5. WSH.Sleep 500
  6. Loop Until ie.readyState=4
  7. str = replace(ie.Document.getElementByID("result").innertext,vbCrLf," ")
  8. Set reg = New RegExp
  9. reg.Pattern = "(\d+\.){3}\d+"
  10. ip = reg.Execute(str)(0)
  11. CreateObject("wscript.Shell").run "mshta vbscript:ClipBoardData.setData(""Text"","""&ip&""")(window.close)", 0, true
  12. WSH.echo "IP: [" & ip & "] 已复制到剪贴板!"
  13. ie.quit
复制代码

TOP

返回列表