I'd like to see 2 additions to this already great program:
Secure Defragmentation Although I'm hardly a security nut, I don't keep anything sensitive beyond a personal level on my machine, I am a computing graduate and prefer to keep my machine secure. I've got good antivirus, a good firewall, and use secure deletion techniques whenever I'm dealing with my own personal information (such-as CCleaner's Secure Deletion option). Having read a few things about secure deletion, however, I've read that defragmentation is one of those areas that can bypass Secure Deletion. Your personal information is at position X, it is moved to position Y, then it is securely deleted from position Y. Spot the flaw? The personal information is still on the disk, at position X, possibly under some other data. Unless position X is also securely deleted, someone could still recover the information. This would obviously be slower than a normal defrag, as you'd have the extra secure deletion stage upon moving any data, but it might be worth it if you know you're defraggling a sensitive file. After-all: Defraggler is the only defragmentation program I've seen that can defrag individual files. Perhaps you could even let the user define a list of potentially sensitive file types, and have options to securely defragment no files, sensitive files, or all files. Lastly, what if I've defragmented my entire drive several times before i realised that defragmentation could pose a threat to security? An option to lift, perform a secure deletion under, then restore every single file on the system before securely deleting free space might be an idea. Hey, it'd take a while, but combine it with a full defrag and a long weekend away (plus the option to shut-down when complete) and I'd probably do it just for peace of mind.
Utilise free space on another drive Maybe you have an old, slow, 500GB C drive and plug-in a new, faster, 320GB D drive that you picked-up on the cheap. Right now, D is pretty-much completely free, but C is almost full and totally fraggled. Rather than copying some of the stuff across from C->D, de fragmenting C, then copying it back from D->C: Wouldn't it be possible to utilise the free space on D as a cache for files from C to get things done faster? I'm just de-fraggling an almost full drive right now, and I get the impression that it's taking more steps than necessary because it's only got a bit of free space to work with. There's obviously a risk that the computer might crash as the program ran, leaving the files split across two drives and unusable, but I think the risks can be minimised: Don't move system files to the other disk.
Use MD5 checksums to ensure it's copied properly.
Whilst the process is running, have a process set to run at start-up which restores files in the event of a crash, then clear the start-up entry when complete
Wouldn't that make it more feasible?