Windows does this automatically - it tracks frequently accessed files and sets them up to be prefetched if you have enough RAM (on recent versions).
Otherwise, you can use advanced defragment tools to move frequently accessed files to the outer tracks of your disk (where the read rate is faster).
You want to find the most often accessed files and then defragment them using contig. First, get a list of all the files that are most frequently accessed.
You need to write a script which will walk all the files in your directory tree from C:\ and generate a list of all the filenames ordered by which were accessed most recently. I would suggest you choose to only filter by files that are above a certain size, e.g. 8 MB, else you'll end up with thousands of system files. Then with this list, iterate over it and run contig against them (or there might be a way to give contig a list of files).
If you don't have the skill to achieve this, an alternative is to purchase an SSD, which does not suffer from fragmentation.
Note; Windows Vista+ disable access timestamps for perforamnce reasons. Enable it with this administrative command:
fsutil behavior set disablelastaccess 0