vote up 0 vote down star
1

Hi,

I have seen plenty of apps that wipe free space on a disk (usually by creating a file that is as big as the remaining space) or defragment a file (usually by using the MoveFile API to copy it to a new contiguous area).

What I have not seen however is a program that wipes the deleted directory entries. That is, when a file is deleted, its information (name, dates, etc.) remain in the directory, but are simply marked as empty. That leaves all kinds of information in a directory entry, and also wastes space since (at least on FAT drives), the directory may be using several clusters. For example, if a directory once had a lot of files, it will be expanded to use another cluster which could be anywhere on the disk. This means that the directory is fragmented, and may be using more clusters than needed, possibly with 100’s of unused (ie, “deleted file”) entries between active files.

Does anyone know of a program that can defragment/consolidate directories (ie, wipe unused entries, and move active entries together)?

(I would really rather not have to resort to writing my own yet again.)
Thanks a lot.

EDIT Sorry, I should have said, Windows and/or DOS, for FAT*/NTFS.

flag

43% accept rate

2 Answers

vote up 0 vote down

If you can find early edition from fdrlab, Undelete Plus, version 2.8.2.0 or earlier, it has "Clean Drive" that deletes Directory entries, nice program, newer editions dropped that feature

link|flag
vote up 0 vote down

tl;dr version -- No, I don't know of a specific utility that meets your requirements.

You don't specify the OS and filesystem. Nor do you really elaborate on what you're trying to accomplish.

I've done some testing of secure delete programs under Unix-like filesystems, and none address the specific issue you bring up. At least one ("sfill" from thc.org) will securely get rid of directory entries by flooding the inode entry with randomly-named files, and that works but grows the inodes to their maximum size and essentially wastes disk space (though the info is securely removed).

My opinion is one that I've read elsewhere: If you're that worried about information leaking to the point that mere file names will be an issue, then the only reasonably safe solution is to use whole-disk encryption rather than using after-the-fact methods to remove data.

If your issue is simply one of filesystem usage efficiency, as opposed to security of data, then the old backup/reformat/restore method would work well in many cases.

link|flag

Your Answer

Get an OpenID
or
never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.