Also have a look at
Defraggler.
It's by the same people who make CCleaner and lets you defrag only fragmented files as well as the whole drive which is a nice quick way of defragging but obviously doing the whole drive is better but can take a long time.