You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

批处理脚本获取HDD/SSD信息报错,求修正方案

批处理脚本修正:解决HDD/SSD容量获取报错问题

报错根源

  1. WMIC语法错误:where子句的条件未用双引号包裹,导致drivetype=3/drivetype=2被解析为无效命令,触发Invalid alias verb错误
  2. 未初始化变量:若系统中无对应类型磁盘,变量为空会导致set /a命令抛出Missing operand错误
  3. 逻辑缺陷:原脚本会覆盖同类型多磁盘的容量值,无法正确计算总容量

修正后的完整脚本

@echo off
setlocal enabledelayedexpansion

echo Processor:
wmic cpu get name

echo.
echo RAM:
set /a ram=0
for /f "tokens=2 delims==" %%i in ('wmic memorychip get capacity /value ^| find "Capacity"') do set /a ram+=%%i
set /a ramgb=%ram%/1024/1024/1024
echo %ramgb% GB

echo.
echo Motherboard:
wmic baseboard get product,manufacturer

echo.
echo HDD (Drivetype=3):
set /a hddtotal=0
set /a hddfree=0
for /f "tokens=2 delims==" %%a in ('wmic logicaldisk where "drivetype=3" get size /value ^| find "Size"') do (
    set /a hddtotal+=%%a
)
for /f "tokens=2 delims==" %%a in ('wmic logicaldisk where "drivetype=3" get freespace /value ^| find "FreeSpace"') do (
    set /a hddfree+=%%a
)
if !hddtotal! gtr 0 (
    set /a hddsizegb=!hddtotal!/1024/1024/1024
    set /a hddfreegb=!hddfree!/1024/1024/1024
    echo Total Size: !hddsizegb! GB
    echo Total Free Space: !hddfreegb! GB
) else (
    echo No HDD detected.
)

echo.
echo SSD (Drivetype=2):
set /a ssdtotal=0
set /a ssdfree=0
for /f "tokens=2 delims==" %%a in ('wmic logicaldisk where "drivetype=2" get size /value ^| find "Size"') do (
    set /a ssdtotal+=%%a
)
for /f "tokens=2 delims==" %%a in ('wmic logicaldisk where "drivetype=2" get freespace /value ^| find "FreeSpace"') do (
    set /a ssdfree+=%%a
)
if !ssdtotal! gtr 0 (
    set /a ssdsizegb=!ssdtotal!/1024/1024/1024
    set /a ssdfreegb=!ssdfree!/1024/1024/1024
    echo Total Size: !ssdsizegb! GB
    echo Total Free Space: !ssdfreegb! GB
) else (
    echo No SSD detected.
)

echo.
pause
endlocal

核心修改说明

  • 给WMIC的where条件添加双引号:where "drivetype=3"/where "drivetype=2",修复语法解析错误
  • 启用enabledelayedexpansion,支持循环内变量的动态累加计算
  • 初始化容量累加变量,避免空值导致的计算报错
  • 添加磁盘存在性判断,无对应磁盘时显示明确提示,而非空容量信息
  • 修改为累加同类型所有磁盘的总容量,解决多磁盘场景下的数值覆盖问题

内容的提问来源于stack exchange,提问作者visshnu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:31:13