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