私は、指定されたドライブの未割り当て領域をプログラムでフォーマットするコードスニペットを探しています。未割り当ての領域をプログラムでフォーマットする方法
私は理想的には、.netコード(VB.NET C#)またはC++を探しています。
多くの感謝
私は、指定されたドライブの未割り当て領域をプログラムでフォーマットするコードスニペットを探しています。未割り当ての領域をプログラムでフォーマットする方法
私は理想的には、.netコード(VB.NET C#)またはC++を探しています。
多くの感謝
ベストオプションはWMIを使用するようです。特に、Win32_Volume
クラスのFormat
メソッドを調べる必要があります。
代わりに、Win32 APIのSHFormatDrive
関数を使用できます。これは、WMIメソッドと機能を比較する方法がわかりませんが、(C++の場合は)より簡単なオプションかもしれません。 編集: M. Jahedbozorganが指摘するように、これはエクスプローラのシェルダイアログを開いてドライブをフォーマットするようです。
3番目の方法は、コードからコマンドラインformat.exe
を実行して(そしてstdoutストリームから読み込む)、これは非常に良い解決策ではありません。
その他の提案は、MSDNフォーラムのthis threadに記載されています。
Windowsでは、割り当てられていない領域だけでなく、ボリューム全体をフォーマットする方法しかないようです。
あなたの質問が正しいと分かったら、ドライブの残りのスペースにパーティションを作成し、その新しいパーティションをフォーマットすることができます。
PInvokeとWMIのWin32_Volumeを使用します。
ドライブ全体をいっぱいにするファイルを作成し、ランダムなデータを書き込んでからフラッシュしてから閉じます。
おそらく、複数の構成(NTFS圧縮ボリュームやユーザーごとのクォータなど)で信頼性の高い方法を実行するのが最も難しい場合があります。
または、コマンドラインから "cipher/w"を使用してください。
なぜ未割り当て領域をフォーマットしますか?またはどのドライブにも属していない未割り当て領域からパーティションを作成しようとしていますか? –