Why pay upwards of a $100 when you can get a open source one that has
nearly as many features and actually runs faster? Way faster!
I've used Windows built-in Defragmenter and cursed it for how slow it
can be and how clumsy not to mention all the files it skips over.
I've paid for Disk Keeper and others and found them to be wanting too.
UltraDefrag v1.3.4 seems superior in every way. You can't beat free
and it is fast. I just finishing up running it on a moderately
fragmented large (750GB) drive, total time 2 hours 6 minutes.
You can either run from a command prompt or get the often appreciated
graphical display of clusters being moved around. Runs in background
so doesn't interfere with what else you're doing. Written in C it
seems much faster than many others. Works with all popular versions of
Windows, both 32 and 64 bit. A very small footprint.
http://ultradefrag.sourceforge.net/
Note: above site seems a little flaky and may take several times
before it loads showing a page not found error.