C#アプリケーションからDiskPartを使用してUSBドライブを再分割したいとします。これはかなり簡単です:私は、Win32_DiskDriveクラスを使用してプラグインされたディスクに関するデータを収集し、DiskPartを使用してパーティションを変更するスクリプトを実行します。クリティカルポイントは、私がWin32_DiskDriveから選択したエントリをDiskPartのディスク番号にマッピングするものです。たとえば、これはDiskPartの出力です。DiskPartを使用してUSBデバイスを再分割する
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
* Disk 0 Online 100 GB 0 B
Disk 1 Online 14 GB 0 B
ディスクを番号で選択する必要があります。しかし、Win32_DiskDriveを使って取得したデータからその番号を取得するのはどこですか?私は答えが "\\。\ PHYSICALDRIVE0"を返す "DeviceID"フィールドを使用していると思います。最後のインデックスは、Win32_DiskDriveのエントリをDiskPartの関連エントリに一致させるために必要なインデックスのようです。これは正しいです?クリティカルな質問は、公式の文書のどこにこれが疑うことなく記載されているのですか?私はここで何もできないようにデバイスをフォーマットします。おかげさまで
ありがとうございますが、問題は残っているようです。 「Index」はDiskPartが参照する値であることを示す文書がありますか? –
@LucaCarlon - DiskPart *のディスク番号について説明している文書は見つかりませんでしたが、これはとにかく 'STORAGE_DEVICE_NUMBER'の' DeviceNumber'メンバーであることをリサーチに示しています - Win32_DiskDrive.Indexと同じです。 – RbMm
偉大な分析!ありがとう! –