
批處理怎樣查詢當前時間點操作系統信息我現在想利用批處理文件查詢當前時間點操作系統的三個信息:CPU負載、內存使用量及各磁盤分區的剩余空間并能導出結果到txt文件。但是個人能力有限,不會編寫這樣的批處理文件,所以想請各位精通批處理的網友幫幫忙給編寫一個,先謝過了。我在網上有找到一個查詢當前時間點操作系統CPU負載&內存使用量的批處理,也找到了一個查詢當前時間點操作系統磁盤分區剩余空間的批處理。可不會將這兩個合并為一個批處理文件,如能幫忙合并成一個也行,也先謝過了。兩個批處理文件我打包上傳了。第一個代碼:
第二個代碼:nclick="copycode($('code0'));">復制代碼
- @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
nclick="copycode($('code1'));">復制代碼
- @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

