0

特定のドライブの未割り当て領域をプログラムでフォーマットするコード スニペットを探しています。

理想的には、.net コード (VB.NET C#) または C++ を探しています。

どうもありがとう

4

3 に答える 3

2

最良のオプションは、WMI を使用することです。特に、クラスのFormatメソッドを調べる必要があります。Win32_Volume

SHFormatDrive代わりに、Win32 APIの関数を使用できます。これは (特に C++ の場合) より単純なオプションかもしれませんが、機能が WMI メソッドとどのように比較されるかはわかりません。編集: M. Jahedbozorgan が指摘しているように、これはドライブをフォーマットするための Explorer シェル ダイアログを開くようです。

3 番目のオプションはformat.exe、コードからコマンドラインを実行する (そして stdout ストリームから読み取る) ことですが、これは明らかにあまり良い解決策ではありません。

その他の提案は、MSDN フォーラムのこのスレッドに記載されています。

于 2009-04-29T16:52:39.807 に答える
1

ドライブ全体を占めるファイルを作成し、そこにランダム データを書き込み、フラッシュしてから閉じます。

最初のステップは、複数の構成 (NTFS 圧縮ボリュームまたはユーザーごとのクォータなど) にわたって確実に実行するのがおそらく最も困難です。

または、コマンド ラインから「cipher /w」を使用します。

于 2009-04-29T18:23:00.133 に答える
0

Windows は、未割り当て領域だけでなく、ボリューム全体をフォーマットする方法しか提供していないようです。

したがって、あなたの質問が正しく理解できれば、ドライブの残りのスペースにパーティションを作成し、その新しいパーティションをフォーマットできます。

PInvoke と WMI の Win32_Volume を使用する必要があります。

于 2009-04-29T17:24:28.933 に答える