Windows IT Pro is the leading independent community for IT professionals deploying Microsoft Windows server and client applications and technologies.
  
  
  Advanced Search 


April 2008

Defrag from Windows Vista’s Command Line

As usual, you’ll find more functionality by abandoning the GUI
RSS
Subscribe to Windows IT Pro | See More Utilities Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Executive Summary:

You might not be content with the limited functionality of Windows Vista's new GUI defrag tool. For more options, turn to the command-line defragger, Defrag (defrag.exe). We outline the tool's various switches and capabilities for you.


Microsoft has included an NTFS disk-defragmentation tool in Windows Server products since Windows NT 4.0. In fact, it seems as if every new Windows version comes with a brand-new defrag tool, and Windows Vista is no exception. Vista’s GUI-based defragmenter has taken a lot of heat for its taciturnity: Whereas previous GUI defraggers offered a graphical representation of your disk’s used and free spaces, Vista’s GUI defragger merely asks that you trust in its effectiveness and not worry about the details. However, even if the tool is doing a good job, I prefer to know what my system is doing.

So, I turned to the command-line defragger, Defrag (defrag.exe), to see whether it offered a bit more functionality than the GUI tool. As is so often the case, it did.

Basic Defrag
One of the cool things about Defrag is its report, which you can get with the tool’s -a option (for the basic report) or its -a -v option (for the more detailed report). Invoke the command as follows:

 defrag  -a -v

The basic report displays the size of the largest block of free space and the overall percentage of fragmented files, followed by a line of advice about whether you should defragment the drive. The addition of -v adds about 20 factoids concerning your system, including the average size of your files, the degree of fragmentation in NTFS’s Master File Table (MFT), the total number of fragmented files, and so on.

Don’t forget to run Defrag from an elevated Vista command prompt—by choosing the Run as Administrator option when you open the command prompt. Defragging involves reading and writing files, and because only administrators have the power to read all files, Defrag probably requires this privilege elevation. Defragging a drive is easy: Simply follow the command with the letter of the drive to defragment. For example,

 defrag C:

That command performs a quick, simple defragmentation that merely attempts to bring together fragments that are smaller than 64MB. The reason behind that limitation is that you won’t see much performance impact in joining monstrous hunks of data, compared with joining smaller fragments. For example, sequentially reading a file broken into ten 500MB fragments would certainly be slower than reading one 5000MB chunk, but not by much. But consider reading that same file as 500 10MB fragments. The drive’s read/write head would be dancing all over the platter!

However, what if you want to go ahead and defragment fragments smaller than 64MB? Then just add the -w option, as in

 defrag C: -w

Of course, that job will take longer—much longer, in some cases. When I tried defragging my 160GB C drive with the -w option after running Vista for nine months, the procedure took four hours. But, again, if “sleek is what you seek” defragging-wise, then –w is the way.

Heavy Duty
I’ve sometimes been guilty of ignoring the need for defragmentation until performance is sluggish, and it’s no coincidence that the sluggishness is most obvious when I’ve just about filled the drive. Unfortunately, the GUI defragger refuses to attempt a defrag if the drive has less than 15 percent of its space free. The command-line defragger, however, offers the -f option, which forces a defrag even if the drive doesn’t have that much free space. Now, I’m happy this option exists, but I would use this option only in dire circumstances. I’d hate to try to defrag a drive full of important information, only to find that the defrag process isn’t so reliable without a lot of free space.

Finally, Defrag offers the -c option, which defragments all volumes on the target computer. Armed with this information, I’ve turned off the out-of-the-box scheduled defragmenter, and built my own heavy-duty defragger by scheduling the command

 defrag -c -w

Give Vista’s Defrag tool a try. After all, a little more speed never hurt anyone.

End of Article



Reader Comments
Thanks; those are useful tips for handling Vista's defragger. But, I switched over to Diskeeper 2008 a while ago, because I found it to be much easier to use and great on features and performance. I got DK on the recommendation of the IT guys at my workplace, and I am glad I did because it's done a superb job of managing defragmentation on its own.

maghemite March 28, 2008 (Article Rating: )


thx for the tip on this ...

yraheja April 02, 2008 (Article Rating: )


Useful article. When the text says that the -w option will "defragment fragments smaller than 64MB" I think you mean LARGER than 64MB.

Schell May 15, 2009 (Article Rating: )


You must be a registered user or online subscriber to comment on this article. Please log on before posting a comment. Are you a new visitor? Register now




Top Viewed ArticlesView all articles
Command Prompt Tricks

One reader shares his tip for setting up the command prompt to reflect a remote path. ...

WinInfo Short Takes: Week of November 23, 2009

An often irreverent look at some of the week's other news, including some post-PDC some soul searching, a Google Chrome OS announcement and a Microsoft response, Windows 7 off to a supposedly strong start, the Jonas Brothers and Xbox 360, and so much more ...

2009 Windows IT Pro Editors' Best and Community Choice Awards

Picking a favorite product from an impressive crowd of competitive offerings is never an easy task, and such was the case with our Editors' Best and Community Choice awards this year. ...


Related Events Deep Dive into Windows Server 2008 R2 presented by John Savill

Configuration Manager SP1 and R2 Overview

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Introducing Left-Brain.com, the online IT bookstore
Looking for books, CDs, toolkits, eBooks? Prime your mind at Left-Brain.com

Discover Windows IT Pro eLearning Series!
Clear & detailed technical information and helpful how-to's, all in our trademark no-nonsense format


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro DevProConnections IT Job Hound
Left-Brain.com Technology Resource Directory asp.netPRO ITTV Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 © 2009 Penton Media, Inc. Terms of Use | Privacy Statement