日常潜水-20161013-进一步细化ping IP地址结果导出成csv文件
2016-10-14 01:38
381 查看
话不多说,直接po代码。
C:\pingScheme.vbs
C:\in.txt
Last but not least, 对于自己还在用vbs做脚本,我表示,朕很自豪!
简直天真!!
注意一定要放在C:\目录下,程序代码这里定死了,因为需求上说随意,我就随意了一下。
所有需要ping的条目保存在了这个txt下。
需要修改定时脚本运行的时间,可以进入Schedule.bat中进行相应时间的修改。
程序正确执行后,将以csv格式做定期保存,在如图所示的c:\目录下。
注意一定要以管理员身份运行Schedule.bat!否则,会报有关权限问题的错误。
at命令配置定时器问题
以管理员身份运行cmd
可在cmd下查看/删除已有的定时任务
重复执行之更改了时间的schedule.bat脚本,可能导致定时器过
多,这个时候,可以通过查看/删除相应的定时任务,重新配置任务。
ping条目的输入文件
Schedule.bat时间更改执行
程序代码
C:\Schedule.batat 17:10 /every:M,T,W,Th,F,S,Su cmd /c C:\pingScheme.vbs pause
C:\pingScheme.vbs
'引用函数 Const conErr = -2 Function Ping(ByVal Server) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '过程说明: ' 1) 原型 Ping(ByVal 服务器) ' 2) ErrLevel返回值: ' ' |值 |标志 |描述 ' -1 True 网络畅通 ' 0 False 网络有误 ' -2 conErr 网址为空 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim WshShell, intState, Args If IsEmpty(Server) Then Ping = conErr : Exit Function End If Args = " -n 2" Set WshShell = WScript.CreateObject("WScript.Shell") intState = WshShell.run ("ping.exe " & Server & Args, 4, True) If intState = 0 Then Ping = True Else Ping = False End If Set WshShell = Nothing End Function Function pingNet(ByVal Server) Dim WshShell, pingShell Set WshShell = WScript.CreateObject("WScript.Shell") Set pingShell = WshShell.exec("cmd /c ping www.baidu.com") pingNet = pingShell.StdOut.ReadAll() Set pingShell = Nothing Set WshShell = Nothing End Function Function betweenString(ByVal sourceString, ByVal leftString, ByVal rightString) dim tempString, tempArray tempArray = split(sourceString, leftString) tempString = tempArray(1) tempArray = split(tempString, rightString) betweenString = tempArray(0) End Function Function cleanOut(ByVal sourceInfo) dim alreadySentNum, lostNum, averageNum, lostRate alreadySentNum = betweenString(sourceInfo, "已发送 = ", ",") lostNum = betweenString(sourceInfo, "丢失 = ", " (") averageNum = betweenString(sourceInfo, "平均 = ", chr(13)) lostRate = betweenString(sourceInfo, "(", "% 丢失") cleanOut = array(alreadySentNum, lostNum, averageNum, lostRate&"%") End Function dim objFSO,objFile,strline,pingResult,cleanOutResult Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\in.txt", 1) Currentdate=year(Now)&"-"&Month(Now)&"-"&day(Now) Set writeObject = objFSO.OpenTextFile("C:\log-"& Currentdate &".csv", 2, true) writeObject.writeline("IP/host,ping包数,丢包数,平均延时,丢包率") do until objFile.atendofstream strline=objFile.readline pingResult = pingNet(strline) 'msgbox strline & " " & pingResult cleanOutResult = cleanOut(pingResult) 'msgbox cleanOutResult(0)&" "&cleanOutResult(1)&" "&cleanOutResult(2)&" "&cleanOutResult(3) writeObject.writeline(strline & "," & cleanOutResult(0) & "," & cleanOutResult(1) & "," & cleanOutResult(2) & "," & cleanOutResult(3)) loop objFile.close writeObject.close set objFSO=nothing
C:\in.txt
www.baidu.com blog.csdn.net
Last but not least, 对于自己还在用vbs做脚本,我表示,朕很自豪!
特别记录
一个自作聪明瞎调用导致的bug==runas /profile /user:administrator "cmd /c start C:\pingScheme.vbs" pause
简直天真!!
程序结果
测试下来,每天定期备份!Advance使用手册
使用基本说明注意一定要放在C:\目录下,程序代码这里定死了,因为需求上说随意,我就随意了一下。
所有需要ping的条目保存在了这个txt下。
需要修改定时脚本运行的时间,可以进入Schedule.bat中进行相应时间的修改。
程序正确执行后,将以csv格式做定期保存,在如图所示的c:\目录下。
注意一定要以管理员身份运行Schedule.bat!否则,会报有关权限问题的错误。
at命令配置定时器问题
以管理员身份运行cmd
可在cmd下查看/删除已有的定时任务
重复执行之更改了时间的schedule.bat脚本,可能导致定时器过
多,这个时候,可以通过查看/删除相应的定时任务,重新配置任务。
ping条目的输入文件
Schedule.bat时间更改执行
相关文章推荐
- Postgresql 将查询结果导出至csv文件
- mysql查询结果导出文件 excel 或者csv
- 对含有掩码的ip地址做ping处理,将结果导出。
- Java列表分页查询结果导出到CSV文件,导入CSV文件并解析
- mysql实现查询结果导出csv文件及导入csv文件到数据库操作
- 一个用servlet实现导出csv文件的实例
- bcp怎么导出一个表数据为带列名的csv格式文件
- DataSet/DataGrid导出到excle和csv文件
- 导出QQWry.Dat中IP地址到文件[C#]
- 利用utl_file将数据导出为csv文件 http://ningoo.itpub.net
- 将Excel或CSV文件中的数据导出到DataSet
- SQL查询结果导出XML文件简单的方法
- csv文件导出
- PL/SQL Developer 导入导出csv文件
- 将数据从DataGridView中导出成CSV格式文件
- java从数据库导出.csv文件及中文乱码问题
- asp.net(c#) 导出csv文件
- VB中导出成生CSV文件
- DataGrid/DataSet导出到excle和csv文件
- datagrid数据导出到excel文件给客户端下载的几种方法 (xls,csv,html)