先上成品图windows
咱们电脑上都安装各类过监控软件,好比360、鲁大师等等。。。其中有一个功能就是性能监控,在安全行业里面一般叫作“配置核查”,目的就是将主机的各类性能指标展现,指标包括CPU状态、内存状态、磁盘状态等等。。。本次的程序目的就是经过编写bat脚本,实现咱们PC电脑上本身实现的“性能监控”系统。本次配置核查的内容包括:CPU、内存、磁盘、网络端口、自启程序。作过一次配置以后,就能够轻松的把本身须要的主机信息拿到手了。安全
开发环境:任意文本编辑器
运行环境:windows全平台网络
新建文件,命名为inspecion.bat(最终运行脚本)和test.bat(测试脚本)tcp
在test.bat中编写每个要实现的功能并测试编辑器
将test.bat中测试成功后的功能组合在一块儿,写入到inspection.bat中性能
运行,测试最终运行结果测试
对思路中的第二点进行讲解code
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
echo TCP port: FOR /F "tokens=3,5* delims=: " %%i IN ('netstat -anp tcp') do ( if %%k == LISTENING set tcpStr=!tcpStr!%%i ) echo %tcpStr%
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
这套脚本能够放在成型的大型程序里面,做为一个基础的功能模块。token
下载地址
提取码:se7zip