0

アップデート:

えっと -- この質問には「答え」がありませんが、ポケットを空にして SSD を購入しました。いずれにせよ、私の RAM ディスク ソフトウェアは、ほぼ同じくらいの費用がかかりました。ここでの回答には特に興味がないので、これを「回答済み」としてマークし、私の人生を続けます.

助けてくれてありがとう。


RAM ディスク (Windows XP) にファイルを書き込むプログラムがあり、実行が終了したら、そのデータを RAM ディスクからハードドライブのディレクトリにコピーする必要があります。明らかに、RAM ディスクではスペースが限られているため、実行の間に RAM ディスクのできるだけ多くのスペースを解放する必要があります。簡単な解決策は、プログラムが RAM ディスク上に生成したデータ フォルダーをハードディスク上の場所にコピーし、RAM ディスクから「データ」フォルダーを再帰的に削除することです。

ただし、そのソリューションには問題があります。私のプログラムはファイルシステムとファイル名を調べて、ファイルを上書きしないようにします (ディレクトリ内の最新のデータ ファイルは 006.dat であるため、何かを上書きする代わりに 007.dat を書き込みます)。データをハードドライブにコピーして戻すときに、古いファイルを上書きせずにデータを記録するには、ファイルシステムをそのままにしておく必要があるため、データの書き込みが完了したらファイルを削除することはできません。

プログラムが RAM ディスクへのデータ ファイルの書き込みを完了した後に実行できる、単純な小さな Windows バッチ スクリプトが必要です。このバッチ スクリプトは、RAM ディスクの「データ」フォルダをハード ディスクにコピーし、RAM ディスクからすべてのファイルを削除してから、ファイル システムを以前と同じように再作成する必要がありますが、ファイルはすべて 0 バイトです。

これについてどうすればいいですか?

4

1 に答える 1

0

最新のものを除くすべてのファイルを削除するだけで、006 が残り、ロガーは 007 を生成しますか?

バックアップ上の実際の 006 にコピーされていないことを確認する必要があるため、長さゼロのファイルを作成するよりも安全に思えます。

編集:これをバッチでのみ行う方法については申し訳ありませんが、多くのUNIXユーティリティがあり、特にfindとtouchはこれに最適です。これらの Windows ポートは多数あります。SO でオプションを検索してください。

Robocopy.exe (Windows サーバー リソース キットの無料ダウンロード) は、あるディレクトリから別のディレクトリへのコピーを実行できます。また、新しいファイルのディレクトリを監視し、それらが閉じられているか変更されているときにそれらをコピーするオプションがあります。

于 2011-07-10T00:40:29.613 に答える