UltraDefrag is a free disk defragmenter that supports defragmentation of locked system files by running during the boot process. 32-Bit and Portable also available.
It makes use of the same defragmenting API used by many other windows defrag utilities.
UltraDefrag is easy to use without any complicated scripting or a huge load of configuration settings. You can filter the files processed by size, the number of fragments, file name, and path. You can terminate the process early by specifying an execution time limit.
Boot Time Defragmentation for system file processing
Console interface for batch processing or setting up scheduled tasks
Graphical user interface to follow the process visually
Process single files, folders, or drives from the Explorer context menu
Specialized processing algorithms for each situation
Available for both 32bit and 64bit Windows
Optional dryrun to get a preview of the resulting disk usage