我现在想利用批处理文件查询当前时间点操作系统的三个信息:CPU负载、内存使用量及各磁盘分区的剩余空间并能导出结果到txt文件。但是个人能力有限,不会编写这样的批处理文件,所以想请各位精通批处理的网友帮帮忙给编写一个,先谢过了。
我在网上有找到一个查询当前时间点操作系统CPU负载&内存使用量的批处理,也找到了一个查询当前时间点操作系统磁盘分区剩余空间的批处理。可不会将这两个合并为一个批处理文件,如能帮忙合并成一个也行,也先谢过了。两个批处理文件我打包上传了。
第一个代码:- @echo off
- color 2
- setlocal EnableDelayedExpansion
-
- set /a memory=0
- for /f "tokens=1,2,3,4" %%a in ('tasklist /FO LIST ^| find "内存使用"') do (
- REM echo %%a %%b %%c
- for /f "tokens=1,2,3,4 delims=," %%i in ('echo %%c') do (
- set /a data=%%i
- if not "%%j"=="" (
- set data1=%%j
-
- set bit1=!data1:~0,1!
- if !bit1!==0 set data1=!data1:~1!
- REM echo data1=!data1!
-
- set bit1=!data1:~0,1!
- if !bit1!==0 set data1=!data1:~1!
- REM echo data1=!data1!
-
- set /a data=data*1000+!data1!
- )
- if not "%%k"=="" (
- set data1=%%k
-
- set bit1=!data1:~0,1!
- if !bit1!==0 set data1=!data1:~1!
- REM echo data1=!data1!
-
- set bit1=!data1:~0,1!
- if !bit1!==0 set data1=!data1:~1!
- REM echo data1=!data1!
-
- set /a data=data*1000+!data1!
- )
- )
- set /a memory=memory+data
- )
- set /a memoryMB=!memory!/1024
-
- echo 内存使用 !memoryMB! MB
- for /f "skip=1" %%i in ('wmic CPU get loadpercentage') do echo CPU使用 %%i%
- pause>nul
- %0
复制代码 第二个代码:- @echo off
- setlocal enabledelayedexpansion
- :Main
- cls
- set /a num2=1024*1024
- for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
- set num1=0
- set num3_str=
- set num4=
- for /f "tokens=3" %%j in ('dir /-c %%i:\ 2^>nul') do set num1=%%j
- if not "!num1!"=="0" (
- call :loop
- for /f "delims=0 tokens=*" %%k in ("!num3_str!") do set num3_str=%%k
- echo.
- echo %%i 盘剩余空间为 !num3_str! MB
- echo.
- )
- )
- pause
- goto Main
- :loop
- set /a num3=%num4%%num1:~0,1%/%num2%
- set num3_str=%num3_str%%num3%
- set /a num4=%num4%%num1:~0,1%%%%num2%
- if %num4% equ 0 set num4=
- set num1=%num1:~1%
- if not "%num1%"=="" goto loop
- goto :eof
复制代码
|