概要

makedummy v1.01 (Vector.co.jp)

対象OS: Windows 2000, XP, 2003

※ XPと2003では、NtCreateFile呼び出し時に"0xc0000005"のエラーが発生するので、対象外としました。後述する"fsutil"を利用してください。
↑この不具合は、v1.01で解決しました。

概要:高速にダミーファイルを作成するツール

ライセンス:GPL (General Public License)

詳細

一瞬で、最大2TBまでのダミーファイルを作成することが出来るツール(fast mode使用時)。

さまざまな既存のダミーファイル作成ツールを使ってみたところ、すべて、速度と使い勝手に不満だったため、新たに作成しました。バッチファイルから連続呼び出しが出来るように、インターフェースはコマンドラインを利用する形にしました。

makedummy.exe -f <file> -s <size> [-m <r|0>]

 -s :

  to define size by B/K/M/G/T.

  サイズは、B/K/M/G/T のいずれかで、整数でのみ、指定できます。

 -m :

  without [-m] option : Don't fill a file. (fast mode)

  -m r : fill a file with random bytes.

  -m 0 : fill a file with NULL bytes.

なお、ファイルシステムは、NTFSを推奨しています。fat/fat32では、ダミーファイルの作成が低速です。

ファイル作成時間は以下のとおり(手持ちのノートPCで計測)

 fast mode : 1GB - 一瞬

 ランダムバイトでフォーマット : 1GB - 1分30秒

 NULLバイトでフォーマット : 1GB - 1分30秒

mkdummytool

このツールを使って、一定の構造のダミーフォルダ/ファイルを連続的に作成するための、スクリプトを作成しました。このスクリプトの実体はVBスクリプトで、それをバッチファイルから呼び出す形になっています。

mkdummytool


このソフト以外で、任意のサイズを持ったダミーファイルを作成する方法について、以下に、まとめて見ました。

-- VBスクリプトのTips --

巨大ファイルをVBScriptの機能を使ってコピーすると、まず、領域がファイルシステム上に確保されて、その後にデータがコピーされる。そのため、領域がファイルシステム上にコピーされた後に、タスクマネージャでwscript.exeをkillしてやれば、同じサイズの巨大ダミーファイルを高速に作成できる。ただし、元ネタになる巨大ダミーファイルを準備しなければならない。元ネタの巨大ダミーファイルの作成には、下記のフリーソフトが利用できる。

-- Copy コマンド --

ディレクトリを第1引数にして、

c:>copy dir data.dat

としてやると、なぜか、ディレクトリがコピーされず、ディレクトリの直下にあるファイルの総サイズに等しいサイズのファイルが作成される。ディレクトリの直下にあるファイルが連結されてひとつのファイルになってしまうようだが、元に戻す方法はないようだ。

ダミーファイル作成用フリーソフトウェア

-- fsutil --

作成速度: 1GB - 一瞬

Windows XP, 2003 に標準で装備されているコマンド。"fsutil file createnew ファイル名 ファイルサイズ"という書式で利用する。

詳しい利用法は、上のリンク先にかかれている。

Windows 2000 では、このツールは利用できないので注意。

-- DummyFileMaker --

作成速度: 1GB - 1分30秒

インストーラ付(インストール時にレジストリに書き込みがある)

動作にはレジストリは使用しない(ようだ) - (展開済みのファイルが、レジストリなしで単独で動作する)

GUIは、使いやすい。

サイズは、Byte, KB, MB, GB 単位で指定

データをランダムと固定値の2種類を選べる。

-- CreateFileBlock --

作成速度: 1GB - 一瞬

ZIP形式の配布ファイル。

本体はexeの単体のファイル。レジストリや設定ファイルは使用しない。

GUIは、やや使いやすい。ただし、ファイル作成完了時にプロンプトが出ないので、きちんと作成されたかが心配になる。

サイズは Byte, KB, MB 単位で指定が可能だが、GBでは指定できない。

ファイル生成速度が、とにかく速い。

ただし、1GBを超えるファイルを作成することはできないようだ。(原因不明のエラーが発生する)

-- 無駄ファイルエディタ --

バージョンアップしたようだが、バージョンアップ後のファイル作成実験は行っていない。GUIが改良され、使いやすくなったようだ。

-- 空ファイル作成AP --

作成速度: 905MB - 2分05秒

lzh形式の配布ファイル。

最大サイズは905MB(950,000,000バイト)は制限されている。

Visual Basic 6.0のランタイムが必要。

GUIは、やや使いにくい。

サイズは、Byteでのみ指定が可能。

上記ソフトウエアで、fsutil 以外は、スクリプトやバッチファイルに組み込んで利用するのに適していない。

変更履歴

12/Mar/2005 : Cobalt Web Builderを使用して書き直し

13/May/2004 : version 1.01

2/May/2004 : リンクを修正

29/Mar/2004 : 対象OSを変更

14/Mar/2004 : fsutilの紹介を追加。無駄ファイルエディタの文を変更

2/Mar/2004 : mkdummytoolを公開

13/Feb/2004 : version 1.00