C#で特定のパーティションを保持するディスクを見つける方法は?

StackOverflow https://stackoverflow.com/questions/300089

  •  08-07-2019
  •  | 
  •  

質問

特定のパーティションを保持している物理ディスクをプログラムで見つける方法を知っている人はいますか? 手動で、Start-<!> gt; Run-<!> gt; diskmgmt.mscを使用してこの情報を見つけることができます。ここで、パーティションC:とD:がディスク1、E:にあることがわかります。 <!> amp; F:ディスク0。

これは、ファイルが異なる物理ディスク上にある場合、それらを並行して実行することにより、いくつかのファイルクランチング操作を最適化するためです。

役に立ちましたか?

他のヒント

Arulの答えに加えて、VBSスクリプトからWMIを使用してディスク<!> lt;-<!> gt; partition associationを取得する方法を示すリンクがあります: WMIタスク:ディスクとファイルシステム -<!> gt;ページの最後の例を参照してください。

編集:さらに良い、こちらの記事 C#を使用したWMIで、論理ディスク(たとえば\\\\.\\PHYSICALDRIVE0)を保持するディスクドライブ(たとえばC:)を取得するために必要なWMIクラス間の正確な関係を記述することもあります

HKEY_LOCAL_MACHINE \ SYSTEM \ MountedDevicesを参照

wmic path CIM_BasedOn get * > wmic-path-CIM_BasedOn-get.txt
wmic path CIM_DiskPartition get * > wmic-path-CIM_DiskPartition-get.txt
wmic path CIM_StorageExtent get * > wmic-path-CIM_StorageExtent-get.txt

クラス:CIM_BasedOn-非列挙非表示パーティション、CIM_DiskPartition -allを参照してください。ただし、ディスクラベル、CIM_StorageExtent-GUID、ラベル、パーティションは表示しません

パーティションは1つのディスクのみに関連付けられていますか?複数の物理ディスクにストライピング/スパン/などすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top