フリーソフトのFireFileCopyやFastCopyでは、ファイルの断片化を極力抑えたコピーが行えます。この機能をDiskMirroringToolに取り入れることはできないでしょうか。動作原理ですが、例えばFastCopyでは、SetFilePointer() + SetEndOfFile() で連続領域をコピー前に確保することでファイルの断片化を防止しているようです。FireFileCopyでの動作原理は知りませんが似たようなことを行っているのだと推測します。もちろん動作速度はそれなりに遅くなりますが、断片化を抑制できる効果には換えられません。私は普段のファイルコピーにはFireFileCopyを使うことが多いですが、その理由はこのファイル断片化を抑えたコピーが可能だからです。この機能がDiskMirroringToolに備われば、最高です!
前向きな回答をして頂きありがとうございます!!!>「○○MB 以上のファイルは領域確保してからコピーする」のような形で。なるほど、それはいいですね。私が常用しているフリーソフト「FireFileCopy」にも断片化防止のオプションに「ファイルサイズが[xx]kB以下なら予約しない」(WRITE前のディスク領域予約)があります。単位はMBではなくkBですが。数キロバイトのファイルならディスク領域の事前予約しなくても断片化されることは無いでしょうから。>1ファイルが大きなサイズのコピーで断片化を抑制したいとのことですね。大きなファイルはもちろんですが小さなファイルでも断片化はできる限り抑制したいです。私の使い方ではバックアップ用のディスクが別PCに用意されていて、時々そちらにまとめてミラーリングを行っています。ファイルサイズは数キロバイトのテキストファイルから数百メガバイトの動画ファイルまで色々ありますが、全体のファイル数に比べると更新されたコピーされるファイルは色々なフォルダに散らばってはいますが、数はそんなに多くはならないです。そんな状況なのでフォルダ全体の断片化抑制なんて望める訳がなく、個々のファイルの断片化抑制があれば十分と思う理由でもあります。個々のファイルの断片化を嫌う理由は2つあります。1つ目はディスクの処理速度が低下すること。時々デフラグを掛ければ処理速度は戻りますが、デフラグはディスクへの負担が大きく、ディスクの寿命が縮まるため、ファイルコピー時に最初から断片化しないで書き込めればそれがベストです。2つ目は万が一ディスクがクラッシュして読めなくなった時、ファイルが断片化していなければデータサルベージの成功率が高まります。そんな理由ではありますが、処理速度が多少遅くなっても我慢できる人には個々のファイル断片化抑制オプションは有益なものになってくれると思っています。