【script】ping例子

;初始化数组
pinginfo := Object()

;建立函数
ping(pinginfo){
site := pinginfo["site"] ;赋值
RunWait, %ComSpec% /c ping -n 1 %site% >%A_Temp%ahk_ping.tmp, , Hide ;有cmd ping网址并保存到临时文件夹
FileRead, content, %A_Temp%ahk_ping.tmp ;读取整个文件到变量
StringReplace, content, content, `r, , All ;去除回车符
StringSplit, var, content, `n ;按换行分割
If content Contains 请求超时,Request timed out
    {
    pinginfo["msg"] = "请求超时" ;返回msg
    Return pinginfo ;返回数组
    }
If content Contains 找不到主机,could not find host
    {
    pinginfo["msg"] = "找不到主机"
    Return pinginfo ;返回数组
    }
Else
    {
    pinginfo["ip"] := RegExReplace(var3, "(来自|Reply from) (d{1,3}.d{1,3}.d{1,3}.d{1,3})[s的回复|]*: (字节|bytes)=d{1,3} (时间|time)[=<]d{1,3}ms TTL=d{1,3}","$2") ;正则替换
    pinginfo["time"] := RegExReplace(var3, "(来自|Reply from) d{1,3}.d{1,3}.d{1,3}.d{1,3}[s的回复|]*: (字节|bytes)=d{1,3} (时间|time)[=<](d{1,3})ms TTL=d{1,3}","$4")
    pinginfo["ttl"] := RegExReplace(var3, "(来自|Reply from) d{1,3}.d{1,3}.d{1,3}.d{1,3}[s的回复|]*: (字节|bytes)=d{1,3} (时间|time)[=<]d{1,3}ms TTL=(d{1,3})","$4")
    pinginfo["msg"] := "正常"
    Return pinginfo ;返回数组
    }
}

;创建界面
gui, add, edit, x0 y0 w200 h400 vsites,
gui, add, button, x0 y400 w200 h20 gok, 批量检测网址ping
gui, Show, , 批量检测网址ping
Return

GuiClose:
ExitApp

ok:
;获取填写数据
GuiControlGet, sites
IfInString, sites, `n
    StringSplit, var, sites, `n
Else
    {
    var0 = 1
    var1 = %sites%
    }
t = %A_Now%
;写入标题
FileAppend, ip/网站`,状态`,IP`,响应时间`n, %t%.csv
Loop
{
if A_Index > %var0%
    Break
site = % var%A_Index%
if site <>
    {
    pinginfo["site"] := site
    pinginfo := ping(pinginfo)
    ip := pinginfo["ip"]
    time := pinginfo["time"]
    site := pinginfo["site"]
    msg := pinginfo["msg"]
    FileAppend, %site%`,%msg%`,%ip%`,%time%`n, %t%.csv
    }
}
;自动打开
Run, %t%.csv
Return

给TA捐赠
共{{data.count}}人
人已捐赠
其他

Win7 Appinn Desktop 模拟WIN7 最小化

2020-3-13 14:10:59

其他

PrintScreen并保存

2020-3-14 17:31:08

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索