Defrag is a windows program and runs while windows is running. You can schedule a scan disk for before windows completely loads, but not defrag. There are tools you can use that defragment outside of windows, but windows built-in defrag is more than sufficient for most needs.
I schedule defrag to run for a few hours a couple nights each week. That way it keeps the disk to a very low level of fragmentation.
Regarding the -b option, I found this explanation:
The Prefetch directory has one
additional salutary function when used
in conjunction with the built-in
defragmenting tool. Every three days,
during idle times, this utility
rearranges program code, moving it to
the outside of the disk to make it
more efficient when loading (to force
Windows to perform this optimization
without having to do a full
defragmentation, use the Defrag.exe
command with the -b switch. For
instance: defrag c: -b).
Apparently your computer already does this regularly, and unless you move massive files frequently across your harddisk and restart several times each day, you're not going to notice must of a benefit.
In my experience, people turn to defrag to speed up their systems much too quickly. I can count on one hand the times defragging has actually sped up systems that I have observed. And as a veteran of corporate and consumer IT support, that's saying something.
Set a scheduled defrag, don't bother with the -b option, and leave it at that. If you have computer slowness there are a myriad other options you should look into that will be much more effective in speeding the system up.