So, you're tired of defragmenting every week or so to prevent your computer from loosing performance to fragments? You don't have the will or money to buy software that can do this automatically for you? Or had bad experiences with free software that claims to do this?
Do not dispair, you can do this in Windows with only one download and a few steps to set up things right.
First you'll want to download PageDefrag. This utility is important because it can defrag things like your page-file and registry, things that are usually constantly occupied by Windows and not reachable by conventional software. It can do this by defragging the areas before Windows use them. Some premium software can do the same thing, but then you'd have to pay for it.
It's very simple to set up PageDefrag, you extract it to somewhere out of the way, as you won't need to start it again. (my personal preference is in '/Documents and Settings/User') Then you start it and select "Defragment at every boot" and configure the amount of seconds you'd like to have to abort it. I recommend 0 seconds, other settings are just a waste of time, because when you've used it a couple of times, the total amount of extra boot time is a second or so. In the beginning, however, it may take a while because these areas have never been defragged before.
Now to set up defragmentation of the rest of the harddrive:
Open up notepad or some other simple text editor, type the following: 'defrag C:' (without quotes) if you have more than one hard drive, type the other drive letters too. Like so:
'defrag C:;D:;E:' etc. (again without quotes)
Save it as a .cmd file. (or .bat, but I like to use cmd because it's for one task, not multiple) Once again, somewhere out of the way, like where you put PageDefrag.
Now, to make the command execute at every boot.
Open up Control Panel, navigate to (Maintenance is it? I don't know what it's called in English, but the one with the pie-diaphgram icon.) alternately, if you use the classic control panel, just open planned tasks, or task planning or something similar. (English again)
Plan a new task.
Follow the guide, in the second step (or first, depending on how you count the steps), click 'browse' and navigate to the .cmd file. (or .bat)
in the next step, select the second option from the bottom. (when my computer boots, starts, or something similar)
Finsih the remaining steps in the guide.
You now never have to worry about defragmentation again. Be wary though that it'll slow your boot time considerably the first few times, and if you have a slower system the boot time .cmd may give you an extra minute of logon time.
This tutorial is primarily for Windows XP, I am not sure wether it'll work on Windows 98 or ME, but I imagine that 2000 will work out fine. NT is a possibility, but it's so old that I frankly don't know.
It is also for the not-so-tech-savvy in particular. Since I imagine the tech-savvy can figure this out on their own quite fine.
This is now useless as Windows Vista and upwards already does this. And you will never reboot Vista if you know how to use sleep anyways. And sys-internals Vista compatibility is questionable.