Board logo

标题: [系统相关] 批处理怎样扫描内存总量、已用、可用,以MB为单位? [打印本页]

作者: wins    时间: 2022-11-24 09:19     标题: 批处理怎样扫描内存总量、已用、可用,以MB为单位?

批处理扫描内存以MB为单位
显示可用内存,已用内存,内存总量
wmic2000用不了
谢谢各位大神!
作者: ANSL    时间: 2022-11-24 10:27

本帖最后由 ANSL 于 2022-11-24 10:31 编辑

晕,我和他有同样的问题,刚要发帖求助!
作者: pd1    时间: 2022-11-24 11:25

wmic os get FreePhysicalMemory
wmic os get TotalVisibleMemorySize
作者: wins    时间: 2022-11-24 15:36

本帖最后由 wins 于 2022-11-24 15:42 编辑

回复 3# pd1

作者: pd1    时间: 2022-11-24 15:39

回复 4# wins


    你可以去找版主举报
作者: wins    时间: 2022-11-24 15:41

本帖最后由 wins 于 2022-11-24 15:42 编辑

也是,你给我解决问题是好的
下回认真审题~
作者: terse    时间: 2022-11-25 11:22

systeminfo 不知道这个外部命令有没有
作者: czjt1234    时间: 2022-11-25 12:10

本帖最后由 czjt1234 于 2022-11-25 12:12 编辑
  1. Set oWMI = GetObject("Winmgmts:\\.\Root\Cimv2")
  2. Set oSWbemObjectSet = oWMI.InstancesOf("Win32_OperatingSystem")
  3. For Each oSWbemObject In oSWbemObjectSet
  4.     Wsh.Echo oSWbemObject.FreePhysicalMemory
  5.     Wsh.Echo oSWbemObject.TotalVisibleMemorySize
  6. Next
复制代码


vbs可以不?
实在要批处理读取,可以再加个批处理

  1. @echo off
  2. CScript.exe /nologo D:\test.vbs
  3. pause
复制代码

作者: czjt1234    时间: 2022-11-25 12:13

本帖最后由 czjt1234 于 2022-11-25 12:26 编辑

没有win2000环境,也不知道支持vbs和wmi不

mem 命令显示有关已使用和可用内存区域以及当前加载到 MS-DOS 子系统内存中的程序的信息
mem 命令可用于 MS-DOS 以及所有 32 位版本的 Windows
mem 命令在 64 位版本的 Windows 中不可用
作者: wins    时间: 2022-11-25 12:55     标题: RE: 批处理怎样扫描内存总量、已用、可用,以MB为单位?

回复 8# czjt1234
您好
如何把结果存储到变量呢?=
作者: czjt1234    时间: 2022-11-25 16:21

回复 10# wins


    你确定vbs可以运行,还是mem命令可以运行?
作者: wins    时间: 2022-11-26 18:37

回复  wins


    你确定vbs可以运行,还是mem命令可以运行?
czjt1234 发表于 2022-11-25 16:21


vbs可以
+++++++++++++++++++++
作者: czjt1234    时间: 2022-11-26 19:25

本帖最后由 czjt1234 于 2022-11-26 19:28 编辑
  1. Set oWMI = GetObject("Winmgmts:\\.\Root\Cimv2")
  2. Set oSWbemObjectSet = oWMI.InstancesOf("Win32_OperatingSystem")
  3. For Each oSWbemObject In oSWbemObjectSet
  4.     Wsh.Echo oSWbemObject.FreePhysicalMemory, oSWbemObject.TotalVisibleMemorySize
  5. Next
复制代码
  1. @echo off
  2. for /f "tokens=1,2 delims= " %%i in ('CScript.exe /nologo D:\test.vbs') do (
  3.     set a=%%i
  4.     set b=%%j
  5. )
  6. pause
复制代码

作者: FenoX    时间: 2022-11-26 20:24

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call :Scan
  4. echo %bet%
  5. pause
  6. :Scan
  7. echo 开始扫描....
  8. set k=1024000
  9. set low=100
  10. set hig=2048
  11. for /f %%a in ('wmic os get FreePhysicalMemory^|findstr "[0-9]"') do set A=%%a
  12. for /f %%a in ('wmic os get TotalVisibleMemorySize^|findstr "[0-9]"') do set B=%%a
  13. set/a c=%b%-%a%
  14. set/a c=%b%/%c%
  15. if %b% leq %low% set ls=K&set/a b=%b%*%k%&set/a a=%a%*%k%&goto :ls
  16. if %b% gtr %hig% set ls=G&set/a b=%b%/%k%&set/a a=%a%/%k%&goto :ls
  17. set ls=M
  18. :ls
  19. set d=正在使用的内存:%%%c%
  20. set f=总内存:%b%
  21. set g=可用内存:%a%
  22. set "bet=%d%_%f% !ls!B_%g% !ls!B"
  23. goto:eof
复制代码
转载自bathome,


目录 2 NAME:硬件扫描器
链接: https://pan.baidu.com/s/1LtL1NgX2nwPjdmiyFDEMJg?pwd=cg89 提取码: cg89




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2