问题描述
我目前正在编写脚本,将从 wmic 等收集的信息输出到 txt 文件或 html 文件。
我知道您可以使用命令`wmic memorychip get SMBIOSMemoryType 获取内存类型,即 DDR3、DDR4 等,该命令以数值形式显示类型,即 DDR4 的 26。
但是有没有可以编写的批处理脚本来将值转换为显示 DDR3/DDR4 等并将其输出到变量中。
20 = DDR
21 = DDR2
22 = DDR2 FB-DIMM
24 = DDR3
26 = DDR4
我似乎无法在评论框中添加代码,因此我已将其更新为我发现的内容。
这似乎在原则上可行。
for /F "skip=1" %%E in ('
wmic memorychip get SMBIOSMemoryType
') do for /F %%F in ("%%E") do set "FF=%%F"
if %FF% equ 26 (
goto ramtype1
)
if %FF% equ 24 (
goto ramtype2
)
if %FF% equ 21 (
goto ramtype3
) else (
goto ramtype4
)
:ramtype1
echo DDR4
pause
exit
:ramtype2
echo DDR3
pause
exit
:ramtype3
echo DDR2
pause
exit
:ramtype4
echo other
pause
exit
Pause
这段代码很相似。
for /F "skip=1" %%E in ('
wmic memorychip get SMBIOSMemoryType
') do for /F %%F in ("%%E") do set "FF=%%F"
if %FF% equ 26 (
echo Ram Type is DDR4.
if %FF% equ 24 (
echo Ram Type is DDR4.
)
) else (
echo Unknown
)
需要以上代码才能使用下面或类似的代码。
if /i %opt%==1 echo !CODE HERE! >> "..\NCR_STAGING_LOGS\ASDA%STORENAME%%serial% %MAC%".html
可惜没有太多好看
我通常会使用以下内容来获取 wmic 信息并将其传递给 %variable% 像下面的 %Memtype% 但这显然会输出 26 作为 DDR4。
set torun=wmic memorychip get SMBIOSMemoryType
for /f "tokens=2 delims==" %%a in ('%torun%') do set MemType=%%a
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)