Hopefully one day soon, Solid state storage will make random access so fast that defragmenting won’t be necessary, but for now, here are a few free tools:

http://www.kessels.com/Jkdefrag/

http://www.defraggler.com/