web-dev-qa-db-ja.com

WindowsのCLIで現在のメディアタイプを検出するにはどうすればよいですか? (DVD-RW、BD-Rなど)

WindowsのCLIで現在のメディアタイプを検出するにはどうすればよいですか? (DVD-RW、BD-Rなど)

Wmic cdrom get/format:listを試してみましたが、現在のメディアタイプに関する情報がありません。

ディスクがCD、DVD、BD、RW、DLなどであるかどうかを検出したい。WindowsGUIの[コンピューター]で、光学ドライブに表示されているアイコンに従って情報を確認できます。

また、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

[〜#〜]編集[〜#〜]

ランニング 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            :
5
Jeremy Dicaire

ディスクがCD、DVD、BD、RW、DLなどであるかどうかを検出したい。WindowsGUIの[コンピューター]で、光学ドライブに表示されているアイコンに従って情報を確認できます。

あなたは正しいコマンドを持っています、あなたが探している情報は「キャプション」フィールドの下にあります。

だから:

wmic cdrom get /format:list

あなたの例では、キャプションフィールドでそれがBD-RE(ブルーレイ録画可能)であることがわかります

キャプション= HL-DT-ST BD-RE BH12LS35

2番目の質問:

また、AvailabilityとCapabilitiesの値の意味がわかりません。それについて説明しているドキュメントを知っているなら、それは素晴らしいことです。

このクラスに関連する説明とすべては、MSDNの次の場所にあります。

Win32_CDROMDriveクラス(Windows)

5
TheCleaner

可用性はメディアの機能であり、機能はドライブの機能です。そう:

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

これは、現在のメディアが読み取りのみをサポートしているが、書き込みはサポートしていないことを意味します。 「リムーバブルメディアをサポートする」ということは、おそらく何の役にも立ちません。に基づく Size=39621033984パラメータ標準のDVD-Rがロードされています。 DLはその2倍になり、Blu-Rayはさらに多くなります。さまざまなメディアを試して、結果を確認してください。

1
Nathan C

次のコードを試しましたか?

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