最上世纪 发表于 2011-5-19 13:25:39

获取IP地址

本帖最后由 最上世纪 于 2011-5-19 14:41 编辑

现在一台主机绑定的花生壳,可以PING通该域名,请教各位高手,如何将CMD下的IP地址自动获取,中文资料有限,请各位大大赐教



对不起啊,我描述的不够详细,我用的花生壳是免费的,不支持离线跳转,所以,用您上边所说的命令,只能读取到它上一个IP,而不是时时的IP,只有PING域名才是最准的,所以,我想用什么命令,可以读取到PING后得到的IP地址,谢谢您

easefull 发表于 2011-5-19 14:26:15

http://www.autoitx.com/Doc/html/functions/tcpnametoip.htm
另外,描述能通顺点吗.看得晕.

最上世纪 发表于 2011-5-19 14:40:52

回复 2# easefull


    对不起啊,我描述的不够详细,我用的花生壳是免费的,不支持离线跳转,所以,用您上边所说的命令,只能读取到它上一个IP,而不是时时的IP,只有PING域名才是最准的,所以,我想用什么命令,可以读取到PING后得到的IP地址,谢谢您

kinghu318 发表于 2011-5-19 15:00:58

试试看这个
#include <Constants.au3>
$foo =Run("a.bat", @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
        MsgBox(0,"",$line)
WEnd
a.bat中:
ping www.baidu.com

最上世纪 发表于 2011-5-19 15:20:11

本帖最后由 最上世纪 于 2011-5-19 15:26 编辑

回复 4# kinghu318


    谢谢老师,上边的问题已经解决了,不过我现在又遇到了新的问题,如何读取一个文本文件内的某两个特定符号之间的内容到剪切板
Pinging www.a.shifen.com with 32 bytes of data:
就是把中间的IP地址复制到剪缉板或者是文本文件

kinghu318 发表于 2011-5-19 15:50:40

回复 5# 最上世纪
#include <Constants.au3>
$foo =Run("a.bat", @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
        GETip($line)
WEnd
Func GETip($str)
        If StringInStr($str,"[") Then
                $arr=StringSplit($str,"[")
                $arr1=StringSplit($arr,"]")
                $file=FileOpen("ip.txt",1)
                FileWriteLine($file,$arr1)
                FileClose($file)
        EndIf
EndFunc

easefull 发表于 2011-5-19 16:12:07

#include <Constants.au3>
Local $foo =Run("ping.exe www.baidu.com -n 1", @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $sIP = ""
Do
        Sleep(100)
    $sText = StdoutRead($foo)
    $sIP = StringRegExpReplace($sText, '(?s)(.*?\[)(\d+.\d+.\d+.\d+)(].*)', '\2')
Until $sIP
MsgBox(0, "", $sIP)
Exit

qq82015930 发表于 2011-5-19 20:44:47

何必用花生壳   DDNS安逸得多
页: [1]
查看完整版本: 获取IP地址