Board logo

标题: [系统相关] CMD或POWSHELL如何获取内存条数和容量 [打印本页]

作者: 04175884    时间: 2021-7-26 10:49     标题: CMD或POWSHELL如何获取内存条数和容量

CMD或POWSHELL如何获取内存条数和容量?比如电脑装了两条内存,就分别获取单 条容易
作者: idwma    时间: 2021-7-26 14:06

wmic memorychip get banklabel,capacity
作者: cmd1152    时间: 2021-7-26 22:38

wmic memorychip get banklabel capacity ==翻译成中文==> 用wmic memorychip获取banklabel容量
作者: yakeyun    时间: 2021-7-27 20:22

本帖最后由 yakeyun 于 2021-7-27 21:02 编辑

回复 1# 04175884


内存数量容量显示:
@echo off
for /f "delims=^ tokens=*" %%a in ('wmic memorychip get BankLabel^| find /i "BANK "') do echo,%%a >a1.ini
for /f "tokens=1,2" %%b in (a1.ini) do echo,%%c
for /f "skip=1 delims=^ tokens=*" %%d in ('wmic memorychip get Capacity') do echo,%%d
pause>nul
exit

由于Win11系统变量环境出错,无法输出"内存数量:"和set容量计算过程,有大佬可以在此基数上修改下。
作者: yakeyun    时间: 2021-7-28 09:21

本帖最后由 yakeyun 于 2021-7-28 09:23 编辑

大佬帮忙看看哪里出错了

@echo off
setlocal enabledelayedexpansion
(for /f "delims=^ tokens=*" %%a in ('wmic memorychip get BankLabel^| find /i "BANK "') do echo,%%a) >a1.ini
for /f "tokens=1,2" %%b in (a1.ini) do echo,内存数量:%%c
for /f "skip=1 delims=^ tokens=*" %%d in ('wmic memorychip get Capacity') do echo,%%d & set gb = %%d
set /a GB=gb/1024/1024/1024
echo,内存容量:%GB% GB
pause>nul
exit



个人判断应该是前一句的do语句没有表达结束语句,导致系统默认后面的for语句和前面是一起的,所以才会报错,那么该如何分开表达输出。
作者: Batcher    时间: 2021-7-28 11:27

回复 5# yakeyun


    请把你测试用的bat脚本上传到网盘,我试试。
作者: yakeyun    时间: 2021-7-28 11:55

回复 6# Batcher


https://www.lanzoui.com/iGt4Orxx20f




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