如何在 Windows 下的 CLI 中检测当前媒体类型?(DVD-RW、BD-R 等)

如何在 Windows 下的 CLI 中检测当前媒体类型?(DVD-RW、BD-R 等)

如何在 Windows 下的 CLI 中检测当前媒体类型?(DVD-RW、BD-R 等)

我已尝试使用 wmic cdrom get /format:list,但没有关于当前媒体类型的信息。

我想检测光盘是否是 CD、DVD、BD、RW、DL……等。在计算机下的 Windows GUI 中,我们可以根据光驱显示的图标查看信息。

另外,我找不到可用性和功能值的含义,如果您知道有关它的文档,那就太好了。

C:\>wmic cdrom get /format:lis

Availability=3
Capabilities={3,4,7}
CapabilityDescriptions={"Random Access"," Supports writing"," Supports Removable
 Media"}
Caption=HL-DT-ST BD-RE  BH12LS35
CompressionMethod=Unknown
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_CDROMDrive
DefaultBlockSize=
Description=CD-ROM Drive
DeviceID=SCSI\CDROM&VEN_HL-DT-ST&PROD_BD-RE__BH12LS35\4&15828421&amp
;0&050000
Drive=G:
DriveIntegrity=TRUE
ErrorCleared=
ErrorDescription=
ErrorMethodology=
FileSystemFlags=
FileSystemFlagsEx=21757959
Id=G:
InstallDate=
LastErrorCode=
Manufacturer=(Standard CD-ROM drives)
MaxBlockSize=
MaximumComponentLength=254
MaxMediaSize=
MediaLoaded=TRUE
MediaType=DVD Writer
MfrAssignedRevisionLevel=1.00
MinBlockSize=
Name=HL-DT-ST BD-RE  BH12LS35
NeedsCleaning=
NumberOfMediaSupported=
PNPDeviceID=SCSI\CDROM&VEN_HL-DT-ST&PROD_BD-RE__BH12LS35\4&15828421&
amp;0&050000
PowerManagementCapabilities=
PowerManagementSupported=
RevisionLevel=
SCSIBus=5
SCSILogicalUnit=0
SCSIPort=0
SCSITargetId=0
SerialNumber=
Size=39621033984
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=PC
TransferRate=4363,63636363636
VolumeName=XMEN_D1
VolumeSerialNumber=8AF2C6DC

编辑

运行后Get-WmiObject Win32_PhysicalMedia | Select *光驱的结果如下(驱动器中有一张 DVD):

PSComputerName       : PC-JAY
__GENUS              : 2
__CLASS              : Win32_PhysicalMedia
__SUPERCLASS         : CIM_PhysicalMedia
__DYNASTY            : CIM_ManagedSystemElement
__RELPATH            : Win32_PhysicalMedia.Tag="\\\\.\\CDROM0"
__PROPERTY_COUNT     : 23
__DERIVATION         : {CIM_PhysicalMedia, CIM_PhysicalComponent, CIM_PhysicalElement, CIM_ManagedSystemElement}
__SERVER             : PC-JAY
__NAMESPACE          : root\cimv2
__PATH               : \\PC-JAY\root\cimv2:Win32_PhysicalMedia.Tag="\\\\.\\CDROM0"
Capacity             :
Caption              :
CleanerMedia         :
CreationClassName    :
Description          :
HotSwappable         :
InstallDate          :
Manufacturer         :
MediaDescription     :
MediaType            :
Model                :
Name                 :
OtherIdentifyingInfo :
PartNumber           :
PoweredOn            :
Removable            :
Replaceable          :
SerialNumber         :
SKU                  :
Status               :
Tag                  : \\.\CDROM0
Version              :
WriteProtectOn       :
Scope                : System.Management.ManagementScope
Path                 : \\PC-JAY\root\cimv2:Win32_PhysicalMedia.Tag="\\\\.\\CDROM0"
Options              : System.Management.ObjectGetOptions
ClassPath            : \\PC-JAY\root\cimv2:Win32_PhysicalMedia
Properties           : {Capacity, Caption, CleanerMedia, CreationClassName...}
SystemProperties     : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers           : {dynamic, Locale, provider, UUID}
Site                 :
Container            :

答案1

我想检测光盘是否是 CD、DVD、BD、RW、DL……等。在计算机下的 Windows GUI 中,我们可以根据光驱显示的图标查看信息。

您有正确的命令,您寻求的信息位于“标题”字段下。

因此对于:

wmic cdrom get /format:list

在您的示例中,您可以在标题字段中看到它是 BD-RE(蓝光可录制

标题=HL-DT-ST BD-RE BH12LS35

对于第二个问题:

另外,我找不到可用性和功能值的含义,如果您知道有关它的文档,那就太好了。

关于此类的描述和所有内容均可在 MSDN 上找到:

Win32_CDROMDrive 类 (Windows)

答案2

可用性是指介质能够执行的功能,而容量是指驱动器能够执行的功能。因此:

Availability=3
Capabilities={3,4,7}
CapabilityDescriptions={"Random Access"," Supports writing"," Supports Removable Media"}

这意味着您当前的媒体只支持读取,不支持写入。“支持可移动媒体”可能没有任何用处。根据参数,Size=39621033984您已加载标准 DVD-R。DL 将是其两倍,蓝光将是更多。尝试使用不同的媒体进行实验,看看结果如何。

答案3

您是否尝试过以下代码?

Get-WmiObject win32_cdromdrive -Filter "MediaLoaded=True" | Select Drive, MediaType 

相关内容