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

Jer*_*ire 5 windows command-line-interface optical-media wmi

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

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

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

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

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
Run Code Online (Sandbox Code Playgroud)

编辑

运行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            :
Run Code Online (Sandbox Code Playgroud)

The*_*ner 5

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

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

因此对于:

wmic cdrom get /format:list
Run Code Online (Sandbox Code Playgroud)

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

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

对于你的第二个问题:

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

可以在 MSDN 上找到与此类相关的描述和所有内容:

Win32_CDROMDrive 类 (Windows)


小智 0

您尝试过以下代码吗?

Get-WmiObject win32_cdromdrive -Filter "MediaLoaded=True" | Select Drive, MediaType 
Run Code Online (Sandbox Code Playgroud)