找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21080|回复: 7

[系统相关] [已解决]wmic memorychip命令,输出结果,赋值给变量。批处理代码如何写?

[复制链接]
发表于 2024-1-18 21:00:49 | 显示全部楼层 |阅读模式
本帖最后由 ygqiang 于 2024-1-20 12:06 编辑

[已解决]wmic memorychip get manufacturer这个命令,输出结果第二第三第四行等等,赋值给变量。批处理代码如何写?
命令显示结果如下:(1根内存条)
Manufacturer  
Corsair

或者显示结果如下:(2根不同品牌的内存条)
Manufacturer  
Corsair
Kinston

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2024-1-18 21:01:36 | 显示全部楼层
本帖最后由 ygqiang 于 2024-1-20 12:11 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion

  3. COLOR 04
  4. COLOR 84

  5. COLOR f4
  6. COLOR fc
  7. COLOR 7c
  8. COLOR 74
  9. echo.
  10. echo.
  11. echo --------------硬盘信息如下:
  12. for /f "tokens=2 delims==" %%a in ('"wmic DiskDrive where MediaType='Fixed hard disk media' get Caption /value"') do set /a DiskQuantity+=1
  13. echo 硬盘数量:【%DiskQuantity% 块】
  14. echo.
  15. set "StrDrive="
  16. for /f "tokens=1* delims==" %%a in ('"wmic DiskDrive where MediaType='Fixed hard disk media' get Model,Size /value | findstr ="') do (
  17.     if "%%a" == "Model" (
  18.         for /f  %%i in ("%%b") do (
  19.             set StrDrive=!StrDrive!,品牌:%%i
  20.         )
  21.     ) else if "%%a" == "Size" (
  22.         for /f "delims=" %%i in ("%%b") do (
  23.             set SizeGB=%%i
  24. set /a SizeGB=!SizeGB:~, -6!/1000
  25. set StrDrive=!StrDrive!,容量:!SizeGB!GB
  26. set "StrDrive=!StrDrive:~1!"
  27. echo,!StrDrive!
  28. set "StrDrive="

  29.         )
  30.     )
  31. )

  32. echo.
  33. echo.

  34. @echo off
  35. setlocal enabledelayedexpansion
  36. echo ============内存信息如下:
  37. for /f "tokens=2 delims==" %%a in ('"wmic memorychip Get Tag /value"') do set /a MemoryQuantity+=1
  38. echo 内存数量:【%MemoryQuantity% 条】
  39. echo.
  40. wmic memorychip get manufacturer
  41. echo.
  42. echo 内存品牌:
  43. for /f "tokens=2 delims==" %%a in ('wmic memorychip get manufacturer /value ^| findstr "="') do (
  44.     set "MemoryFacturer=%%a"
  45. echo !MemoryFacturer!
  46. )
  47. echo.
  48. for /f "tokens=1-2 delims==" %%a in ('wmic MemoryChip get Capacity^,Speed /value ^| findstr "="') do (
  49.     if "%%a" == "Capacity" (
  50.         for %%c in (%%b) do (
  51.             set "MemCap=%%c"
  52.         )
  53.     ) else if "%%a" == "Speed" (
  54.         for %%c in (%%b) do (
  55.             set "MemSpd=%%c"
  56.         )
  57.         for /f %%i in ('powershell "!MemCap!/(1024*1024*1024)"') do (
  58.             set "MemCap=%%i"
  59.         )
  60.        
  61.         echo 内存容量:!MemCap!GB
  62.         echo 内存频率:!MemSpd!
  63. echo.
  64.     )
  65. )
  66. pause >nul 2>nul
复制代码
发表于 2024-1-18 21:14:40 | 显示全部楼层
回复 1# ygqiang
  1. @echo off
  2. for /f "tokens=2 delims==" %%a in ('wmic memorychip get manufacturer /value ^| findstr "="') do (
  3.     set "MemoryFacturer=%%a"
  4. )
  5. echo,%MemoryFacturer%
  6. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2024-1-18 21:30:44 | 显示全部楼层
回复 3# ShowCode

谢谢。
如果wmic memorychip get manufacturer 命令结果显示如下:
Manufacturer  
Corsair
Kinston

你这个命令代码,也会正常显示吗?
发表于 2024-1-18 22:24:51 | 显示全部楼层
  1. for /f "delims=" %%a in ('"Wmic.exe Memorychip get DeviceLocator /format:list"')do for /f "tokens=1,* delims==" %%a in ("%%a")do for /f "delims=" %%d in ('"Wmic.exe Memorychip get BankLabel,Capacity,Caption,DeviceLocator,FormFactor,PartNumber,Manufacturer,Speed,TotalWidth,TypeDetail /format:list"')do for /f "tokens=1,* delims==" %%d in ("%%d")do echo,内存信息:        %%b %%d=%%e
复制代码
发表于 2024-1-18 22:31:36 | 显示全部楼层
powershell 比批处理方便多了
参考 http://www.bathome.net/viewthread.php?tid=68303&extra=
发表于 2024-1-19 08:20:25 | 显示全部楼层
回复 4# ygqiang


    请亲自试试吧,遇到问题咱们再继续探讨。
发表于 2024-1-19 10:03:06 | 显示全部楼层
回复 3# ShowCode


    直接循环输出就是了。当然,同品牌也会对应根数输出。
  1. @echo off
  2. for /f "tokens=2 delims==" %%a in ('wmic memorychip get manufacturer /value ^| findstr "="') do (
  3.     echo, %%a
  4. )
  5. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 05:32 , Processed in 0.020275 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表