ゼロクリアされたファイルを作る Windows プログラム

要旨

 NTFS ボリューム上に指定された長さのゼロクリアされたファイルを作る Windows コマンドラインプログラムを公開します。

概要とダウンロード

 NTFS ボリューム上に指定された長さのゼロクリアされたファイルを作る Windows コマンドラインプログラムを公開します。指定されたファイルが既に存在する場合は、指定されたファイルの長さになるようファイル末尾にゼロクリアされたバイトを追加します。

 ディスク領域を確保しますが、ゼロのバイトをディスクに書かないので高速です。 coLinux のディスクイメージを作るときなどに便利です。

 無保証です。

 プログラムの中でしていることは簡単で、 SetFilePointer して SetEndOfFile するだけです。もう少し詳しい説明は、以前「最近の fcp」に書きました (手抜き)。

使い方

CreateZeroFile.exe myfile.dat 1000000

のようにファイル名とファイルの長さを指定して実行します。ファイルの長さはバイト単位で、 0 で始まる 8 進数や 0x で始まる 16 進数でも指定できます。 4 ギガバイトを超える長さも指定できます。

 操作ミスでファイルの内容を失うのを防ぐため、デフォルトではファイルの長さを短くすることはできません。短くする場合は /allowtruncate オプションを指定してください。

 たぶん fsutil file createnew コマンドと同じ動作ですが、 fsutil コマンドと違い管理者でなくても実行できます。

 NTFS 以外で実行した場合、エラーになるかもしれませんし、ならないかもしれません。エラーにならない場合、ファイルの長さは指定した長さになるはずですが、内容がゼロクリアされるかどうかはわかりません。

 Windows NT 4 以降で動作するはずで、 Windows XP SP2 で動作確認しています。実行ファイルは Visual C++ 2005 でコンパイルしました。

 ソースコードと実行ファイルの著作権を放棄します。

2007 年 6 月 10 日公開、 2007 年 6 月 19 日実行ファイルの著作権放棄を明記、 2007 年 6 月 28 日最終更新。著者: fcp / このサイトについて