Como detectar o tipo de mídia atual na CLI no Windows? (DVD-RW, BD-R, etc)

5

Como detectar o tipo de mídia atual na CLI no Windows? (DVD-RW, BD-R, etc)

Eu tentei com wmic cdrom get / format: list, mas nenhuma informação sobre o tipo de mídia atual.

Eu quero detectar se o disco é um CD, DVD, BD, RW, DL ... etc. Na GUI do Windows em Computador, podemos ver as informações de acordo com o ícone exibido para a unidade óptica.

Além disso, não consigo encontrar o significado dos valores Disponibilidade e Recursos, se você conhece um documento falando sobre isso, seria ótimo.

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&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&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

EDITAR

Executando Get-WmiObject Win32_PhysicalMedia | Select * me dê o seguinte resultado para a unidade óptica (um DVD está na unidade):

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            :
    
por Jeremy Dicaire 05.05.2013 / 22:25

3 respostas

5

I want to detect if the disc is a CD, DVD, BD, RW, DL... etc. In Windows GUI under Computer we can see the information according to the icon displayed for the optical drive.

Você tem o comando correto, as informações que você procura estão no campo "Legenda".

Então para:

wmic cdrom get /format:list

No seu exemplo, no campo Caption você pode ver que é um BD-RE (Blu-ray Recordable

Caption=HL-DT-ST BD-RE BH12LS35

Para sua segunda pergunta:

Also, I can't find the meaning of the Availability and the Capabilities values, if you know a document talking about it, it would be great.

As descrições e tudo relacionado a essa classe é encontrado no MSDN aqui:

Classe Win32_CDROMDrive (Windows)

    
por 15.05.2013 / 20:58
1

A disponibilidade é o que a mídia é capaz, e capacidade é o que sua unidade é capaz de fazer. Então:

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

Isso significaria que sua mídia atual oferece suporte apenas à leitura, mas não à escrita. O "suporta mídia removível" provavelmente não significa nada útil. Com base no parâmetro Size=39621033984 , você tem um DVD-R padrão carregado. DL seria o dobro disso, e Blu-Ray mais. Tente fazer experiências com diferentes mídias para ver quais são os resultados.

    
por 14.05.2013 / 20:56
0

Você já tentou o seguinte código?

Get-WmiObject win32_cdromdrive -Filter "MediaLoaded=True" | Select Drive, MediaType 
    
por 13.05.2013 / 21:30