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

如何通过Windows命令行或批处理判断空白可刻录光盘的容量与类型

可行方案如下

方案1:使用Windows内置PowerShell调用IMAPI2接口(无需额外安装软件,支持Win7及以上系统

IMAPI2是Windows自带的光盘刻录原生API,可以直接识别空白刻录介质的类型、容量等参数,你可以直接在PowerShell中运行以下命令:

# 加载IMAPI2对象
$imapi = New-Object -ComObject IMAPI2.MsftDiscMaster2
# 遍历所有光驱
for ($i=0; $i -lt $imapi.Count; $i++) {
    $recorder = New-Object -ComObject IMAPI2.MsftDiscRecorder2
    $recorder.InitializeDiscRecorder($imapi.Item($i))
    Write-Host "光驱盘符: $($recorder.VolumePathNames)"
    # 检测当前插入的介质
    $formatData = New-Object -ComObject IMAPI2.MsftDiscFormat2Data
    $formatData.Recorder = $recorder
    if ($formatData.IsCurrentMediaSupported($recorder)) {
        $mediaType = $formatData.CurrentPhysicalMediaType
        $totalSectors = $formatData.TotalSectorsOnMedia
        $freeSectors = $formatData.FreeSectorsOnMedia
        $sectorSize = 2048
        Write-Host "介质类型编码: $mediaType"
        Write-Host "总容量: $([math]::Round($totalSectors * $sectorSize / 1GB,2)) GB"
        Write-Host "可用容量: $([math]::Round($freeSectors * $sectorSize / 1GB,2)) GB"
    } else {
        Write-Host "当前光驱未插入可识别的刻录介质"
    }
}

介质类型编码对应关系可直接匹配光盘分类:

  • 0~0xC:CD类介质
  • 0xF~0x15:DVD类介质
  • 0x16~0x20:蓝光/BD类介质
  • 0x21及以上:M-DISC等特殊刻录介质

如果需要在批处理文件中调用上述逻辑,直接在批处理内用powershell -Command "上述命令压缩后内容"封装即可直接调用执行。

方案2:使用第三方命令行工具

如果需要适配更低版本Windows系统,可使用免费开源的discinfo命令行工具,直接运行discinfo G:(将G替换为你的光驱盘符)即可直接输出介质类型、容量等参数,解析输出文本即可提取你需要的信息。


你之前用WMIC无法读取的原因是WMIC的logicaldisk相关接口仅返回已经挂载了文件系统的存储介质,空白刻录盘没有可识别的文件系统,所以无法读取size、freespace等字段,切换盘符报Incorrect function.也是同样原因导致的,属于正常现象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:12:02