先上成品图

需求描述

我们电脑上都安装各种过监控软件,比如360、鲁大师等等。。。其中有一个功能就是性能监控,在安全行业里面通常叫做“配置核查”,目的就是将主机的各种性能指标展示,指标包括CPU状态、内存状态、磁盘状态等等。。。本次的程序目的就是通过编写bat脚本,实现我们PC电脑上自己实现的“性能监控”系统。本次配置核查的内容包括:CPU、内存、磁盘、网络端口、自启程序。做过一次配置之后,就可以轻松的把自己需要的主机信息拿到手了。

环境说明

开发环境:任意文本编辑器

运行环境:windows全平台

开发思路

  1. 新建文件,命名为inspecion.bat(最终运行脚本)和test.bat(测试脚本)

  2. 在test.bat中编写每一个要实现的功能并测试

  3. 将test.bat中测试成功后的功能组合在一起,写入到inspection.bat中

  4. 运行,测试最终运行结果

开发步骤

对思路中的第二点进行讲解

  • 采集cpu信息
rem 采集cpu信息,若多核,则显示多条结果
for /f "skip=1" %%i in ('wmic CPU GET LoadPercentage') do (
if %%i geq 0 set cpuStr=%%i%%
)
echo CPU使用率:%cpuStr%
  • 采集内存信息
rem 采集内存总容量
for /f "skip=1" %%i in ('wmic os get TotalVisibleMemorySize') do (
if %%i geq 0 set totalMem=%%i
)
set /a tmp=%totalMem%/1024
set totalMem=%tmp:~0,-3%.%tmp:~-3%G echo 总内存容量:%totalMem%
echo -----------------------------------------
rem 设置2秒的延迟
ping 127.0.0.1 -n 2 > null rem 采集可用内存容量
for /f "skip=1" %%i in ('wmic os get FreePhysicalMemory') do (
if %%i geq 0 set freeMem=%%i
)
set /a tmp=%freeMem%/1024
set freeMem=%tmp:~0,-3%.%tmp:~-3%G echo 空闲内存容量:%freeMem%
  • 采集磁盘信息
rem 采集磁盘信息
echo 磁盘信息(可用/总量)
wmic LOGICALDISK get DeviceID,FreeSpace,Size > tmp.txt
for /f "skip=1 tokens=1,2,3*" %%i in ('type tmp.txt') do (
set totalDisk=%%k
set freeDisk=%%j
set /a tmp1=!freeDisk:~0,-5!/1074
set /a tmp2=!totalDisk:~0,-5!/1074
set diskStr=%%i!tmp1:~0,-1!.!tmp1:~-1!G/!tmp2:~0,-1!.!tmp2:~-1!G
echo !diskStr!
)
del tmp.txt
  • 采集TCP端口信息
echo TCP port:
FOR /F "tokens=3,5* delims=: " %%i IN ('netstat -anp tcp') do (
if %%k == LISTENING set tcpStr=!tcpStr!%%i
)
echo %tcpStr%
  • 采集UDP端口信息
echo UDP port:
FOR /F "tokens=1,2,3* delims=: " %%i IN ('netstat -anp udp') do (
if %%i == UDP set udpStr=!udpStr!%%k
)
echo %udpStr%
  • 显示自启程序的执行路径
echo 自启程序路径:
rem for /f "skip=1" %%i in ('wmic STARTUP GET Command') do (
rem echo %%i
rem )
wmic STARTUP GET Command

这套脚本可以放在成型的大型程序里面,作为一个基础的功能模块。

源代码打包下载

下载地址

提取码:se7z

脚本其实很简单-windows配置核查程序(1)的更多相关文章

  1. 脚本其实很简单-windows配置核查程序(2)

    bat脚本是什么? 首先讲讲什么是命令行,在windows操作系统中,点击左下角的win图标,直接输入cmd搜索,左键点击进入命令行模式(或按键盘上的win键+r直接调出来命令行窗口). 在windo ...

  2. Linux~其实shell脚本也很简单

    用了两个的centos之后,也想看看它的脚本,我们知道shell这个东西就像windows里的批处理,它可以将一些语句进行组合,然后统一去执行,感觉挺方便的. shell文件的组成 shell语言环境 ...

  3. vb6-很简单的配置密码验证提示

    '很简单的配置密码验证提示 Dim add As String add = Trim(InputBox("请输入配置密码", "报表配置")) If add = ...

  4. 谁说C语言很简单?

    前两天,Neo写了一篇<语言的歧义>其使用C语言讨论了一些语言的歧义.大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西. 是的,C语言并不简单,让我们来看看 ...

  5. 在linux安装redis单机和集群后,如何在windows上使用redis客户端或者java代码访问错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。需要通过简单配置,完成允许外网访问。

    这几天在学习在linux上搭建服务器的工作,可谓历经艰辛.可喜最后收获也不少. 这次是在linux上搭建redis服务器后从windows上缺无法访问,连接不上. 仔细回忆以前搭建nginx和ftp的 ...

  6. Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序

    由于最近比较忙,一直到假期才有空,因此将自己学到的知识进行分享.如果有不对的地方,请指出,谢谢!目前深度学习越来越火,学习.使用tensorflow的相关工作者也越来越多.最近在研究tensorflo ...

  7. 我的第一个WCF程序,很简单适合我等菜鸟

    1.首先我罗列一下网站搜索并经过自己理解的WCF的含义: 1)WCF:(WIndows Communication Foundation)是由微软是由微软发展的一组数据通信的应用开发接口,可以翻译为W ...

  8. Windows窗体应用程序(非Console)使用libuv实现简单的异步WEB服务器

    libuv是一个很强大的异步处理框架(严格意义上不能叫框架,其实就是一组异步函数库,当然框架这东西有各种各样的定义和理解_^...),最初的的目的是用于NODEJS的异步处理,不过因为它是一个独立的项 ...

  9. 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行

    用手工运行msoobe.ext启用配置的方法, 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行   我自己安装碰到的是蓝色这个错误,下面这个也有网友说用安装驱动等方法 ...

随机推荐

  1. EasyUI 异步Tree

    用etmvc framework返回json数据.创建HTML标记 <ul id="tt"></ul> 创建jQuery代码我们使用url属性来指向远程数据 ...

  2. 超简单CSS3实现圆角、阴影、透明效果

    CSS实现圆角,阴影,透明的方法很多,传统的方法都比较复杂,用CSS3就方便很多了,虽然现在各浏览器对CSS3的支持还不是很好,但不久的将来CSS3就会普及. 1.圆角 CSS3实现圆角有两种方法. ...

  3. mobile体验效果:增加点击后反馈

    document.addEventListener("touchstart", function(){}, true) //JS部分 a:active{ background:re ...

  4. thinkphp 原生sql使用分页类

    public function index(){ import("@.ORG.Page"); //导入分页类 $Dao = M(); $count = count($Dao-> ...

  5. Win10下安装MySQL总卡在write configuration的解决办法

    先说结论 删除  C:\ProgramData 下的MySQL文件夹!!! 折腾过程 反复安装卸载,安装版.绿色版,都不行,清理注册表,清理安装文件夹,还是不行!!! 最后找到并删除  C:\Prog ...

  6. 监听过多,会抛tooManyListener例外

    在生成一个窗体的时候,点击窗体的右上角关闭按钮激发窗体事件的方法:窗体Frame为事件源,WindowsListener接口调用Windowsclosing(). 为了配合后面的实现,我们必须将Win ...

  7. 【BZOJ】1650: [Usaco2006 Dec]River Hopscotch 跳石子(二分+贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1650 看到数据和最小最大时一眼就是二分... 但是仔细想想好像判断时不能贪心? 然后看题解还真是贪心 ...

  8. html-include

    import header <head> <link rel="import" href="header.html"> </hea ...

  9. C++之运算符重载

     C++ Code  12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...

  10. [转]这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...