| dim obj | | set obj=createobject("wscript.shell") | | obj.run "command /c ab -k -n 3 -c 1 http://www.bjnet.net.cn/images/main.jpg |grep Transfer >out1.txt ",0,true | | set obj=nothing | | | | dim Temp | | Const ForReading = 1 | | Set objFSO = CreateObject("Scripting.FileSystemObject") | | Set objTextFile = objFSO.OpenTextFile("F:\Tools\网络测速\out1.txt", ForReading,true) | | | | strResponses = objTextFile.ReadAll | | Temp=Mid(strResponses,25,5) | | if cdbl(Temp) < 1000 then | | Wscript.Echo "电信:只有"&Temp&" Kbytes/sec" | | end if | | objTextFile.Close COPY |
小结:在写这个脚本时,曾想到用批处理文件来实现,获取单线程流量可以实现,发出警告信息也可以实现,但在比较什么时候发出警告时,遇到问题,就是在批处理文件里不能用if a < b then 来比较大小,只能比较是否相等(if a ==b then),网上也没有相关的说明文件,在这找这方面的资料时,用了一个上午的时间。之后,就想到用VBS脚本来实现,在这个过程中,第一个问题就是如何来调用ab工具测试单线程流量,第二个问题就是如何实现读取文件内容,如何比较里面的内容,先前是比较获取的全部内容(“Transfer rate: 371.53 [Kbytes/sec] received”),发现有出错提示,说常量没有结束,经测试是因为定义的变量长度不够,并且比较字符串的结果,不能说明是否应该发出警告。于是,只能提取其中的一个部分内容来比较,那就是数值部分(“371.53”),第三个问题就是如何把字符串转换成数值,在这里用到了Mid()函数。
http://jackeyzhu.blog.51cto.com/345718/181648 |