Contig (defragmentation utility)

From Wikipedia, the free encyclopedia
Contig
Original author(s)Mark Russinovich
Developer(s)Sysinternals (a Microsoft subsidiary)
Stable release
1.8 / July 4, 2016; 7 years ago (2016-07-04)
Operating systemWindows
TypeDefragmentation
LicenseProprietary freeware
WebsiteMicrosoft Technet

Contig is a command line defragmentation utility for Windows developed by Microsoft as part of the Sysinternals Suite.

Operation[edit]

Contig is designed to defragment individual files,[1] or specified groups of files, and does not attempt to move files to the beginning of the partition. Unlike the Windows built-in defragmenter tool, Contig can defragment individual files, individual directories, and subsets of the file system using wildcards.

Contig does not move any data except that belonging to the file in the question, so the amount it can defragment a file is limited to the largest contiguous block of free space on a system. Use of contig exchanges decreased file fragmentation for increased free space fragmentation.

Combined usage of the -s parameter and the wildcard symbol * allows whole directories and drives to be defragmented: for example,

contig -s C:\*

will defrag all the files on hard drive C. The -s parameters means to browse directories recursively.

Directories, for example, can be defragmented with the following command. This will help speed up accessing files in a directory with many hundreds or thousands of files.[2]

for /R /D %a in (*.*) do start /b contig -q "%a" > nul

Adding the -v parameter to the command runs contig in verbose mode. For instance:

contig -v -s C:\*

When the filesystem is NTFS, contig can also analyse and defragment the following files:

$mft, $LogFile, $Volume, $Attrdef, $Bitmap, $Boot, $BadClus, $Secure, $UpCase, $Extend

For instance:

contig -v -s $mft

A small change to the Windows registry allows entire folders to be defragmented from Windows Explorer.[3] New unfragmented files with specified name and length can be created.

After downloading Contig(64), place the exe in root of C: first. Then create the *.reg file with the code below or manually add it to the registry.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\contig]
@="Defragment this folder with Contig"
[HKEY_CLASSES_ROOT\Directory\shell\contig\command]
@="cmd.exe /K c:\contig.exe (or c:\contig64.exe) \"%L\" -v -s"

Derivative programs that use Contig include Power Defragmenter GUI and Multiple Applicator 6.8. A related freeware product by the same author is PageDefrag.

Limitations[edit]

  • Contig can't defragment files accessed through directory mount points (as opposed to drive letter mounts).[citation needed] Using an additional (temporary) drive letter will circumvent this problem. See subst command.
  • Contig doesn't work in Telnet sessions, but it is possible to execute it on remote machines using Sysinternals PsExec.

See also[edit]

Notes and references[edit]

  1. ^ Windows NT Magazine column, "Inside the Object Manager" October 1997 Archived 2005-05-07 at the Wayback Machine
  2. ^ Documentation on TechNet page
  3. ^ Edwards, Donn (31 August 2007). "Make Contig Easier to Use". Insights and Rants. Retrieved 19 May 2010.
  • Winternals: Defragmentation, Recovery, and Administration Field Guide by Dave Kleiman, Laura Hunter, Mahesh Satyanarayana, Kimon Andreou, Nancy G Altholz, Lawrence Abrams, Darren Windham, Tony Bradley and Brian Barber (2006) - Syngress (ISBN 1-597490-792)

External links[edit]