zoukankan      html  css  js  c++  java
  • 脚本其实很简单-windows配置核查程序(1)

    先上成品图

    配置核查

    需求描述

    我们电脑上都安装各种过监控软件,比如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

  • 相关阅读:
    java总结1
    immutable
    iconfont
    实战build-react(三)+ style-components
    PHP判断字符串的包含
    win7 64位操作系统中 Oracle 11g 安装教程(图解)
    我在博客园写博客的原因
    面向对象程序设计-C++_课时17函数重载和默认参数
    面向对象程序设计-C++_课时16子类父类关系
    面向对象程序设计-C++_课时14对象组合_课时15继承
  • 原文地址:https://www.cnblogs.com/qjx-2016/p/10291928.html
Copyright © 2011-2022 走看看