监控网络单线程流量

VBS 脚本
                                   ----- 功能是监控网络的单线程流量
       写个脚本文件,功能是用 ab 命令获取单线程流量,当小于一定数值时,发出警告信息。
 
dim obj  
set obj=createobject("wscript.shell")   \\ 定义一个DOS 控件
obj.run "command /c ab -k -n 3 -c 1 http://www.bjnet.net.cn/images/main.jpg |grep Transfer >out1.txt ",0,true              \\ 在该控件下运行ab 工具加参数,“ 0 表示不显示DOS 运行窗口
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          \\ 把内容给strResponses
Temp=Mid(strResponses,25,5)                  \\ 从字段的第25 个字节开始,取5 个出来,给Temp
if cdbl(Temp) < 1000  then                            \\cdbl() 函数是将字符串转成数值,if 是将转换的值和1000 比较
Wscript.Echo " 电信:只有"&Temp&" Kbytes/sec"     \\ Wscript.Echo 是输出一个窗口,& 是字符串连接符,
end if                                                      \\ 结束条件语句
objTextFile.Close                                     \\ 结束控件调用
 
 
 
小结:在写这个脚本时,曾想到用批处理文件来实现,获取单线程流量可以实现,发出警告信息也可以实现,但在比较什么时候发出警告时,遇到问题,就是在批处理文件里不能用if a < b  then 来比较大小,只能比较是否相等(if a ==b  then , 网上也没有相关的说明文件,在这找这方面的资料时,用了一个上午的时间。之后,就想到用VBS 脚本来实现,在这个过程中,第一个问题就是如何来调用ab 工具测试单线程流量,第二个问题就是如何实现读取文件内容,如何比较里面的内容,先前是比较获取的全部内容(“Transfer rate:          371.53 [Kbytes/sec] received ”),发现有出错提示,说常量没有结束,经测试是因为定义的变量长度不够,并且比较字符串的结果,不能说明是否应该发出警告。于是,只能提取其中的一个部分内容来比较,那就是数值部分(“371.53 ”),第三个问题就是如何把字符串转换成数值,在这里用到了Mid() 函数。

你可能感兴趣的:(脚本,职场,vbs,休闲,网络流量)