http://bbs.csdn.net/topics/230078112
'/************************************************************************/
'
' FileName: WriteUsage.vbs
'
' Author: Chinafish
'
' Email: china_fish@163.com
'
' Homepage: http://www.csinx.org
'
' Desc: Write CPU & Memory usage
'
'/************************************************************************/ On Error Resume Next Dim dwTotalMem, dwAvailMem Const szRootDir = "D:\CPU\" '定时循环记录
Do While True Const ForReading =
Const ForWriting = Set oFSO = CreateObject("Scripting.FileSystemObject") '计算当日记录文件名
Today = Date()
TargetFile = szRootDir & Year(Today) & Right("" & Month(Today),) & Right("" & Day(Today),) & ".log" '没有文件先创建文件
Set MyFile = oFSO.CreateTextFile(TargetFile, false)
MyFile.Close '打开创建的文件读出原来的内容
Set MyFile = oFSO.OpenTextFile(TargetFile, ForReading)
strContent = MyFile.ReadAll
MyFile.Close '先写原文件内容
Set MyFile = oFSO.OpenTextFile(TargetFile, ForWriting) '文件无内容时写文件头
if strContent <> "" then
MyFile.WriteLine(strContent)
else
MyFile.WriteLine("/*Usage.log file write by Chinafish.*/")
MyFile.WriteBlankLines
End if '写开始时间
MyFile.WriteLine("程序启动时间: " & Now()) '本地电脑
strComputer = "." '连接到本地电脑
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.InstancesOf("Win32_LogicalMemoryConfiguration") '总计物理内存
For Each colItem In colItems
dwTotalMem = CLng(colItem.TotalPhysicalMemory / )
MyFile.WriteLine("总计物理内存: " & CLng(colItem.TotalPhysicalMemory / ) & "MB")
Next '剩余内存
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfOS_Memory",,) For Each objItem in colItems
dwAvailMem = objItem.AvailableMBytes
MyFile.WriteLine("剩余物理内存: " & objItem.AvailableMBytes & "MB")
Next '物理内存使用率(第一行精确到小数后2位, 第二行取整数)
'MyFile.WriteLine("物理内存使用: " & CInt((1 - dwAvailMem/dwTotalMem)*100*100)/100 & "%")
MyFile.WriteLine("物理内存使用: " & CInt(( - dwAvailMem/dwTotalMem)*) & "%") 'CPU数和使用率
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,)
i = For Each objItem in colItems
MyFile.WriteLine("CPU(" & i & ")使用率: " & objItem.LoadPercentage & "%")
i = i +
Next '写结束时间
MyFile.WriteLine("程序结束时间: " & Now())
MyFile.Close Set oFSO = Nothing
Set MyFile = Nothing '睡眠达到定时操作目的 参数是ms 1000是1秒
WScript.Sleep ** Loop

自行修改版。

On Error Resume Next

Dim dwTotalMem, dwAvailMem

Const szRootDir = "D:\CPU\"

Set oFSO = CreateObject("Scripting.FileSystemObject")

    Const ForReading =
Const ForWriting = '计算当日记录文件名
Today = Date()
TargetFile = szRootDir & Year(Today) & Right("" & Month(Today),) & Right("" & Day(Today),) & Hour(Now) & ".log" '没有文件先创建文件
Set MyFile = oFSO.CreateTextFile(TargetFile, false)
MyFile.Close Set MyFile = oFSO.OpenTextFile(TargetFile, ForWriting) '写开始时间
MyFile.WriteLine("程序启动时间: " & Now()) '本地电脑
strComputer = "." '连接到本地电脑
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.InstancesOf("Win32_LogicalMemoryConfiguration") '总计物理内存
For Each colItem In colItems
dwTotalMem = CLng(colItem.TotalPhysicalMemory / )
MyFile.WriteLine("总计物理内存: " & CLng(colItem.TotalPhysicalMemory / ) & "MB")
Next '剩余内存
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfOS_Memory",,) For Each objItem in colItems
dwAvailMem = objItem.AvailableMBytes
MyFile.WriteLine("剩余物理内存: " & objItem.AvailableMBytes & "MB")
Next 'CPU数和使用率
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,)
i = For Each objItem in colItems
MyFile.WriteLine("CPU(" & i & ")使用率: " & objItem.LoadPercentage & "%")
i = i +
Next MyFile.Close Set oFSO = Nothing
Set MyFile = Nothing

VBS windows监控的更多相关文章

  1. vbs系统监控

    vbs CPU 内存 硬盘监控脚本 On Error Resume Next Dim dwTotalMem, dwAvailMem, totalvolumn, freespace Const szRo ...

  2. 16 利用Zabbix完成windows监控

    点击返回:自学Zabbix之路 16 利用Zabbix完成windows监控 1.安装zabbix_agentd 1.1.下载zabbix_agentd监控客户端软件安装包(windows操作系统客户 ...

  3. windows 监控

    监控time_wait状态tcp/ip连接 > netstat -an | findstr "TIME_WAIT" 如果监控此值发现量比较大,且有类似socketExcept ...

  4. zabbix 自定义 windows 监控项

    zabbix获取windows服务器上数据C:\zabbix_agents\conf\zabbix_agentd.win.confUserParameter=conncount,d:\\tools\\ ...

  5. spotlight on windows 监控

    1. spotlight on windows 安装 下载 https://pan.baidu.com/s/1qYi3lec Spotlight大家可以从其官方网站(http://www.quest. ...

  6. windows监控 排查蓝屏问题

    DUMP包分析 工具WinDbg,下载打开,按ctrl+S  输入:SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols:点击OK, ...

  7. 搬运:Python for Windows——监控Windows某个目录下文件的变化

    https://win32com.goermezer.de/content/view/286/285/ 这个网站真是给力,不多说,代码直接搬运过来,还有我的测试结果,拿走不谢! import os i ...

  8. Windows监控——性能指标详解(转)

    http://blog.csdn.net/yiqin3399/article/details/51730106

  9. LR监控Windows资源

    1.监控准备: 监控方: 1)安装tcp/ip协议下的netbios 2)用administrator登录 被监控方: 1)被监控的Windows开启两个服务: Remote ProcedureCal ...

随机推荐

  1. VMware Mac OS中无法找到适应的分辨率的解决办法

    使用VMware安装的Mac OS中,有时在显示器的分辨率中的选择项里面,没有对应显示的分辨率可供选择的时候(无法自适应),可以在虚拟机设置里,显示器中修改强制分辨率.修改过后重启虚拟机,就可以有对应 ...

  2. 浅析ConcurrentHashMap

    一.导论 这些天一直在看关于多线程和高并发的书籍,也对jdk中的并发措施了解了些许,看到concurrentHashMap的时候感觉知识点很乱,有必要写篇博客整理记录一下. 当资源在多线程下共享时会产 ...

  3. Angular路由(三)

    AngularJs ng-route路由详解 其实主要是$routeProvider搭配ng-view实现. ng-view的实现原理,基本就是根据路由的切换,动态编译html模板. 前提 首先必须在 ...

  4. JSP基本语法总结【2】九大内置对象

    内置对象也称为内建对象,隐含对象,即无需声明,直接可以在JSP中使用的java对象.JSP的内置对象就是把最常用.重要的几个对象直接创建了. JSP有9大内置对象:Request,Response, ...

  5. Java 泛型在实际开发中的应用

    java泛型是对Java语言的类型系统的一种扩展,泛型的本质就是将所操作的数据类型参数化.下面我会由浅入深地介绍Java的泛型. 一:泛型出现的背景 在java代码里,你会经常发现类似下边的代码: p ...

  6. log 的 debug()、 error()、 info()方法的区别

    软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志,不管用什么,这些东东大多是大同小异的,一般都提供了这样5个日志级别:    × Debug    × Info  ...

  7. Android反编译odex然后重新打包

    #Android反编译odex然后重新打包 最近不知道怎么回事,突然把我那刷了氧OS的root了,然后就开始好奇起来氢OS所带有的那些本地化的东西,比如通话录音就是典型的一个之一.其中也做了很多的尝试 ...

  8. C++第一篇--类的引入

    C++第一篇--类的引入 1. 用C语言输出两个人的信息 Person1.c:通过字符实现 #include <stdio.h> int main(int argc,int **argv) ...

  9. cocos2dx 图片压缩工具 推荐

    随着版本的第二次迭代,包体越来越大;随之而来的也就是下载量会有所影响;毕竟每增大一点包体大小,下载的玩家就会损失一小批; 但是我们的图片都经过美术压缩打包,依然包体不小; 最后发现是因为把图片都打包成 ...

  10. CentOS的改变系统启动级别

    CentOS7改变系统启动级别   systemctl命令:   文本模式:systemctl set-default multi-user.target 图形模式:systemctl set-def ...