如何在 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&
;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 上找到:
答案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