JkDefragGUI Logo  JkDefragGUI
valid XHTML
valid CSS
php powered
any browser
JkDefrag is a free defragmentation program for all Windows systems starting from Windows 2000*1.

JkDefragGUI is the graphical user interface for comfortable handling for this program.

Screenshots of JkDefragGUI
Screenshots of JkDefrag

JkDefrag (GNU licence*2) defragments very fast, has several optimisation strategies, offers highest possible data security and can also defragment external storage media. However options can only be entered over the Windows command.

With JkDefragGUI (Freeware) the operation becomes very easy. Beyond that it has some additional functions e.g. planning the defragmentation, storing the personal settings, configuring the screensaver...

  *1) runs under Windows 2000 / XP / Server 2003 / MCE / Vista / X64 / Server 2008
many thanks to Jeroen Kessels the author of the origin program (you find the english web site of JkDefrag at



  Program versions

program version type
logo JkDefragGUI JkDefragGUI portable, multilingual*)
Graphical user interface for starting JkDefrag without having to know the command line instructions.



1.32 MB

download JkDefragGUI
logo JkDefrag de JkDefrag de portable, german
German version of the program JkDefrag with source code.



677 kB

download JkDefrag de
logo JkDefragSetup JkDefragSetup Installer exe, multilingual*)
Installation version of the program JkDefrag with screen saver and GUI.



1.60 MB

download JkDefragSetup

*)JkDefragGUI languages: american • dutch • english • esperanto • french • german • italian • japanese • spanish • russian
Many thanks to the translators.

Further Versions

  JkDefragGUI language and help files download
At the standard JkDefragGUI package are 10 languages included. For additional languages download this package, it contains 40 languages.

english • german • dutch • danish • icelandic • swedish • norwegian • spanish • portuguese • french • italian • latin • romanian • russian • polish • czech • slovak • slovenian • croatian • serbian • bulgarian • lithuanian • latvian • estonian • finnish • hungarian • albanian • greek • esperanto • american • turkish • hebrew • arabic • indonesian • hindi • thai • vietnamese • chinese • japanese • korean

  JkDefrag language versions
At the graphical user interface JkDefragGUI is the "intern" file JkDefrag in english. To change the language simply download the desired language version and replace the file JkDefrag.exe in the folder „programs“ with the downloaded. If the downloaded file has another name rename it to JkDefrag.exe. Naturally the language versions can be used also independently.

language last release download web site
english 3.36 download website
french 3.36 download website
spanish 3.36 download website
german 3.36 download website
italian 3.36 only docs website
Remark: is a deception address

  JkDefragGUI 1.16.1 herunterladen
New: Detecting of all mapped network drives and mounted USB drives.
  MyDefragGUI beta website
  JkDefrag 64bit Version download
for the X64 versions of Windows 2003 / XP / Vista
  JkDefrag sources download
Included is a DLL library (for Microsoft Visual C++ 2008; released under the GNU Lesser General Public License) containing all the defragger subroutines, which you can call from just about any programming language (for example Delphi and Visual Basic). Dependent on the version of your compiler you could need the platform SDK von Microsoft around these to compile.
  former versions
see Release History

       Program files

JkDefrag[64].exe Windows 32bit-Version / [Windows 64bit-Version]
Standard version. No installation or configuration necessary, it's ready to run and will automatically process all the mounted, writable, fixed volumes on your computer.
JkDefragCmd[64].exe Command line version
Specially designed to be run automatically in the background, or from administrator scripts. See also in the Handling chapter for the command line options.
JkDefragScreenSaver[64].exe Screensaver version
Specially designed to set up the screensaver. In addition the file JkDefragScreenSaver.scr have to be in the "System32-folder" (usually "c:\Windows\System32\" or "c:\Winnt\System32\").
JkDefragGUI[version].exe Graphical user interface for JkDefrag / JkDefragCmd / JkDefragScreenSaver
For starting JkDefrag without knowing the command line instructions and with additional functions. Also for simple configuring the task manager and the screensaver. Contains also the first two and the following files. It's no installation necessary.
JkDefrag.chm Documentation file (Reference)
Compiled offline HTML help file for fast looking up.
JkDefragScheduler.exe Task-Manager
This interface program handles the controls of the entries in the Windows task scheduler (Task-Manager).
JkDefragScreenSaver.scr Screensaver
If the file is in the "System32-folder" it will automatically become visible in the list of screensavers as "JkDefragScreenSaver" and can be used just like any other screensaver.
JkDefrag[date].log Log file / [with creation date]
In this file are stored the completed tasks and analyses of the drive(s). JkDefragScreenSaver.log and JkDefragTaskManager.log are produced by the appropriate applications.
JkDefrag.ini Initialisation file
In this file are stored the personal settings. If this file will be deleted, the settings are set to default.
[language].lng Language files
In these files the texts of the different languages are stored.

       How it works

JkDefrag is based on the standard Defragmentation Interface by Microsoft (the FSCTL_GET_VOLUME_BITMAP, FSCTL_GET_RETRIEVAL_POINTERS, and FSCTL_MOVE_FILE function calls), just like all other defragmenter. It is therefore very solid, there is no risk of losing data or the disk getting scrambled, and you can run it while the computer is in full use.

Phase 1: Analyse

JkDefrag has to scan all the files on the disk to determine if they are fragmented and where they are. At the moment it has to use very inefficient Microsoft function calls, in the future I hope to speed this up by directly reading the MFT and FAT.
Phase 2: Defragment
  • All fragmented files are defragmented, simply by moving them to the first gap on the disk that is big enough. If there is no gap big enough then the defragmenter will reduce the number of fragments in the file by moving as much of the file as possible into the largest gaps available.
  • Windows reserves a percentage of the disk for the MFT (Master File Table), but can place normal files there if the rest of the disk is full. The files will remain there, even when there is enough space again. JkDefrag looks for files in the MFT reserved space and moves them to normal disk space, making the reserved space available again for the MFT.
  • Regular files are moved out of the directory zone, and space hogs are moved out of the directory and regular zones. This prepares the disk for the next step (optimisation) so it can do a better job. See below for more information about the zones.
Phase 3: Optimise
  • On most hard disks the beginning of the hard disk is considerably faster than the end (see therefore in the chapter "Links" the program "DiskSpeed32"). The default JkDefrag optimisation strategy therefore moves all files to the beginning of the volume. It is intended for daily use and will simply fill gaps with files from above, very quick and with very little data movement.
  • Sorting the files on your disk can give you even more speed. There are several sorting strategies to choose from (see the "-a" options). These are all very slow and intended for occasional use only.
  • JkDefrag classifies files into 3 zones: directories (zone 1), regular files (zone 2), and big files (zone 3). Files outside their zone are moved to their zone. Directories are perhaps the most accessed data on disk, so zone 1 is placed at the beginning of the hard disk. After the directories comes a free area (see next item), then zone 2 with regular files, another free area, and then zone 3 with big files, which are files bigger than 50 megabytes (see also -u mask); files with certain filenames such as archives; files in the recycle bin; service pack files, and other infrequently accessed data. The begin and end of the zones is determined automatically (see also -f option).
  • A running computer will create and delete temporary files like there is no tomorrow. If the hard disk were completely optimised then the only place for new temporary files would be behind all the other data. Which is rather slow. So JkDefrag maintains a free space of 1% of the total disk space between zone 1 (directories) and zone 2 (regular files), and between zone 2 and zone 3 (big files).
When the utility is running you will see lot's of messages zipping by showing you exactly what is happening. The messages are also stored in a log file for later inspection. The log file may also contain warning messages, for example when a file could not be moved. This is normal, no need to worry. Windows has many system files that cannot be moved while Windows is running.

JkDefrag shows a high-detail map of the hard disk, refreshed 3 times per second. Bottom-left of the window is the beginning of the hard disk.

JkDefrag in action
Snapshot of JkDefrag in action. The program is completely automatic, there are no buttons and no pull-down menu's.

The used colours are:
• Black: empty
• Grey: in use by unknown data
  • Dark-green: Spacehogs
  • Light-Green: defragmented
  • Yellow: fragmented
  • Red: unmovable
  • Pink: system files
• White: busy
arrow beginning of the disk


Default behaviour of JkDefrag is to automatically process all the mounted, writable, fixed volumes on your computer. You can change this behaviour with command line options (applies to JkDefragCmd.exe and JkDefrag.exe) or use JkDefragGUI.
  Permissions: JkDefrag needs "full control" permissions to all files that it must defragment/optimise. On a default Windows system the "administrator" user ID has full permissions to all files. Users can also run JkDefrag, but then it can only defragment/optimise the files for which the user has "full control". On Windows Vista: right-click the JkDefrag program and select "run as administrator".
  Stopping: JkDefrag can be stopped safely at any time, there is no risk of losing data or corrupting your disk.

1. Strategies

JkDefragGUI screenshot 1
JkDefragGUI screenshot 2

1.1 Main Strategy


- analysing only (action 1)
- analysing and defragmenting (action 2)
- defragmenting and optimising (action 3)
This optimisation strategy is very suitable for day-to-day use. It moves a minimum of data on the hard disk and finishes very quickly, but will not fill all the gaps on the disk. The strategy scans for gaps on the disk and fills them with files from above.
- full optimisation (action 4) [since v3.14 removed]
This optimisation strategy is for incidental use once in a while. It takes a lot of running time and data movement because it tries to fill all the gaps on the disk. The strategy is the same as for fast optimisation, plus the files just above a gap are moved away until the gap can be completely filled with files from above.
- sorted optimisation (actions 7 - 11)
All the sorting optimizations will create fragments. This is by design, it is not a bug. These sorting optimizations are for incidental use once in a while. They take a lot of running time and data movement because they rewrite all the data on the disk. The strategies vacate a small area on disk and then fill it up again with the files in the selected order.
  • sort by name (action 7): very good for fast program starting. The files used by a particular program will be very close together on disk.
  • sort by size (action 8): placing all the small files together at the begin of the disk will dramatically reduce the average file seek time.
  • sort by last access (action 9): files that have not been accessed in a while are probably unimportant and are best sorted to the back.
  • sort by last change (action 10): placing files together that change a lot (for example databases and log files) will speed up regular operation of the system.
  • sort by creation time (action 11): the oldest files on the disk are likely to be important system files, for example used when Windows is booting.
- force together (action 5):
Intended for partition resizing. All movable files are moved to the beginning of the disk, even if it means fragmenting them to fill gaps that cannot be filled otherwise.
- move to end of disc (action 6):
Move all the files to the end of the disk, making more room at the beginning of the disk. Intended for big and rarely used files such as log files, backup archives, installation files, and such.
Here you can select a certain drive or a certain partition for analysis / defragmentation / optimisation (actions 1 - 11). In addition, all drives / partitions can be selected at one time.

1.2 Advanced Strategy

If only a certain directory has to be defragmented you can select this in the first range.
If a certain directory or drive / partition shall not defragmented you can select this in the second range. The contained files will be not defragmented and not displaced.
Spacehogs are less important files that take up a lot of space. JkDefrag moves them behind the directories and the regular files, to make those faster.
You can add into the input field your own Spacehogs independently of the internal Spacehogs (see in addition the -u mask with the command line parameters). If you want to have e. g. avi, zip and log files as Spacehogs type "avi zip log" (filename extensions without double quotes and separated by spaces) into the input field.
You can specify with the checkbox whether the internal Spacehogs list is to be used or not.
checkbox checked use the internal list (default)
checkbox unchecked use not the internal list
You can reduce the speed (default 100%) in order to reduce processor load if other computationally intensive programs are simultaneously running.
Free space:
Specifies the percentage size - based on the disk capacity - of the free spaces between the ranges (zone 1 - 3).

2. Scheduler

JkDefragGUI screenshot 3
JkDefragGUI screenshot 4

The strategy- and log-settings are taken over also by the Task-Manager and by the screen saver by inserting respectively activating or changing them.

2.1 Scheduler - Task-Manager

If you want to defragment at certain times with fixed intervals you can adjust these here with the Windows Task-Manager.

2.2 Scheduler - Screensaver

If you want to defragment at certain intervals by the screen saver you can install and configure JkDefrag as screen saver.

3. Extras

You can specify as extras things like creating a log file or shutdown the computer after defragmentation.

For further details look at the program documentation - which is attached to the program.

command line parameters:

JkDefrag[Cmd].exe [-a N] [-e "mask"] [-u "mask"] [-s N ] [-f N] [-d N]
                  [-l "filename"] [-h/-(-)help//?] [-q] [items]
-a N    
Select an action to perform. The number N is a value from 1 to 11, default is 3:
  1 = Analyse only, do not defragment and do not optimise.
  2 = Analyse and defragment, do not optimise.
  3 = Analyse, defragment, and fast optimisation (default).
  4 = Analyse, defragment, and full optimisation [since v3.14 removed; for downward compatibility the actions 5 and 6 were not renumbered. If you enter "-a 4" now you will get the same behaviour as "-a 3".].
  5 = Analyse and force together, do not defragment.
  6 = Analyzer, defragment, and move to end of disk.
  7 = Analyzer and sort files by name (descending). [SLOW]
  8 = Analyzer and sort files by size (smallest first). [SLOW]
  9 = Analyzer and sort files by last access (newest first). [SLOW]
10 = Analyzer and sort files by last change (oldest first). [SLOW]
11 = Analyzer and sort files by creation time (oldest first). [SLOW]
-e "mask"     Exclude files or directories that match the mask. The files will not be defragged and will not be moved. Use wildcards '*' and '?' in the mask to match a set of files or directories. If the mask contains a space then it must be enclosed in double-quotes. Some examples: "*.avi", "*\w3svc*\*.log", "D:\MySQL\Data".
-u "mask"     Files that match a mask will be moved to the Spacehogs area. The program has a build-in list for all files
- bigger than 50 megabytes,
- files not accessed in the last month,
- archives, files in the recycle bin, service pack files, and some others.
Disable this list by specifying the special mask "DisableDefaults". Use wildcards '*' and '?' in the mask to match a set of files or directories. If the mask contains a space then it must be enclosed in double-quotes. Some examples: "
*.avi", "*\w3svc*\*.log", "D:\MySQL\Data\*".
Internal program list:
?:\Program Files\Installshield Installation Information\*
?:\Archivos de programa\Installshield Installation Information\*
?:\Arquivos de programas\Installshield Installation Information\*
?:\Ohjelmatiedostot\Installshield Installation Information\*
?:\Program\Installshield Installation Information\*
?:\Programas\Installshield Installation Information\*
?:\ProgramFiler\Installshield Installation Information\*
?:\Programme\Installshield Installation Information\*
?:\Programmer\Installshield Installation Information\*
?:\Programmes\Installshield Installation Information\*
?:\Programmi\Installshield Installation Information\*
?:\System Volume Information\*
?:\WINDOWS\Downloaded Installations\*
?:\WINNT\Downloaded Installations\*
*.7z *.arj *.avi *.bak *.bup *.bz2 *.cab
*.chm *.gz *.ifo *.log *.lzh *.mp3 *.msi
*.old *.pdf *.rar *.rpm *.tar *.vob *.z *.zip
-s N Slow down to N percent (1...100) of normal speed. Default is 100.
-f N Set the size of the free space to N percent (0...100) of the size of the volume. The free space is an empty area at the beginning of the volume for temporary files. Default is 1%.
-d N
Select a debug level, controlling the messages that will be written to the log file. The number N is a value from 0 to 6, default is 1:
0 = Fatal errors.
1 = Warning messages [default].
2 = General progress messages.
3 = Detailed progress messages.
4 = Detailed file information.
5 = Detailed gap-filling messages.
6 = Detailed gap-finding messages.
-l "filename" Specify a filename for the log file. Default is "JkDefrag.log" and "JkDefragCmd.log". Specify empty string "" (two double-quotes) to disable the log file.
-h Show a short help text (command line version only). Alternatively use: -help or --help or /? .
-q Quit the program when it has finished (windows version only).
items The items to be defragmented and optimised, such as a file, directory, disk, mount point, or volume, including removable media such as floppies, USB disks, memory sticks, and other volumes that behave like a hard disk. Wildcards '*' and '?' are allowed to select a set of files. If the item contains a space then it must be enclosed in double-quotes. Some examples: "C:", "D:\MySQL\Data", "F:\*.log"

Tip: Cleanup old junk from your hard disk before running JkDefrag.

Tip: Stop your real time virus scanner before running JkDefrag. Virus scanners check all disk activity, making defragmentation and optimisation very slow.

Tip: Move the swap file to another volume, reboot, defragment, and move the swap file back. If you don't have a second volume then temporarily make the swap file small, for example 100 MB.

Tip: If a program (for example a database) prevents certain files from being defragged then stop the program, run JkDefrag for the particular data directory only, and restart the program.

Tip: Run the program with the "-a 6" option to move infrequently used files to the end of the disk (for example "C:\RECYCLER" and "C:\WINNT\$*"), then run the program again and exclude those files with the "-e" option.

       Frequently asked questions

How safe is it?
JkDefrag is based on the standard defragmentation API by Microsoft, a system library that is included in Windows 2000, 2003, XP, and Vista. All defragmenter are based on this API, including commercial defragmenter. JkDefrag is therefore very solid and there is no risk of losing data. You can stop the program at any time, it will finish the current file in the background. If your disks use NTFS then you're even safe when the computer crashes in the middle of defragging. Nevertheless, it's still a good idea to backup before defragmenting, just like with other defragmenter, because the heavy use of the hard disk may trigger a hardware fault.
How do I specify an option, or select a single disk (folder / file)?
The easiest way is to use JkDefragGUI, but you can also use the command line to specify options or do it via Windows. In case of using the Windows version create a shortcut to "JkDefrag.exe", open the properties of the shortcut, and add the desired command line options (for example "-a 3") or the name(s) of the disk / folder / file (for example "D:") to the end of the "target" line outside of the quotation marks. Examples:
"C:\JkDefrag\JkDefrag.exe" -a 3
"C:\JkDefrag\JkDefrag.exe" D:\

Note: In the same properties window you can select "minimized".
Note: The command line version "JkDefragCmd.exe" will exit automatically when finished.

Where is the Stop button?
JkDefrag can be stopped safely at any time, there is no risk of losing data or corrupting your disk. You can use all the usual ways to stop a Windows program, such as pressing ALT-F4, clicking the 'x' in the top-right corner, via the pull-down menu in the task bar, or by killing the program via the task manager or another utility. The command line program can be stopped the same way, plus by pressing CTRL-C, or BREAK.
How to run JkDefrag automatically?
Use JkDefrag or add it to the Windows scheduler, like this:
  • Start → Control Panel → Scheduled Tasks → Add Scheduled Task
  • The wizard starts, click 'Next'.
  • Use the 'browse' button to select the 'JkDefragCmd.exe' program.
  • Select 'daily', next, select a time, next.
  • Enter a user ID / password with administrator privileges, click 'Finish'.
How do I use the screensaver?
See the instructions in the files chapter.
How to run JkDefrag at boot-time?
It's very easy to run JkDefrag automatically in the background when the computer starts via the Windows Task Scheduler:
  • Start → Control Panel → Scheduled Tasks → Add Scheduled Task
  • The wizard starts, click 'Next'.
  • Use the 'browse' button to select the 'JkDefragCmd.exe' program.
  • Select 'daily', next, select a time, next.
  • Enter a user ID / password with administrator privileges, click 'Finish'.
Note: This will not defragment system files such as the page file. To do that see the links chapter for the link to Pagedefrag, a free utility by Microsoft Technet (formerly SysInternals).
How to start minimized, or maximized?
Make a shortcut to the "JkDefrag.exe" program, open the properties of the shortcut, find the "run" setting, and select "minimized" or "maximized".
Why is my disk not perfectly optimised?
  • There are many files that cannot be moved while Windows is running, because they are in use by an application, or by a service, or by Windows itself. See the "-d" command line options and the log file for more information. They can be anywhere on disk and are usually fragmented into microscopically small segments. In other words, the hard disk is not a big block of space where files can be moved at will, but thousands of little blocks bounded by unmovable data.
  • A typical hard disk can easily contain tens of thousands of files, all with different sizes. What is the optimum way to organize the files into the blocks? The number of permutations is astronomical, it boggles the mind. JkDefrag doesn't even try to calculate them all. It concerns itself with only one block at a time, trying to fit only files from above the block, and limits itself to 0.5 seconds of calculating time.
    So it's very unlikely, if not impossible, for JkDefrag to perfectly optimise your disk, more's the pity.
  • Gaps are only filled with files from above the gap. If there are no files that fit the gap (all files are bigger) then the gap cannot be filled.
  • Gaps can only be enlarged by the full optimisation if it can move whatever file is just above the gap.
  • Files can only be fully defragged if there is a gap large enough to hold the entire file. If no such gap is available then JkDefrag will try to reduce the number of fragments by moving the file to the largest gaps available.
  • JkDefrag maintains a "free space" area just above the directories at the beginning of the hard disk. This is by design. See the "-f" command line option to control the size of this free space.
What are Spacehogs?
Spacehogs are big, less important files that take up a lot of space. These files will be moved behind the end of the 'regular' files.
Can I run JkDefrag outside Windows?
JkDefrag is based on the Windows defragmentation library, so Windows must be started. JkDefrag can be run from a bootable Windows CD-ROM (such as BartPE, see, but cannot be run from a DOS bootable floppy.
Why use this defragger instead of the standard Windows defragger?
  • Much faster.
  • Totally automatic, extremely easy to use.
  • Optimised for daily use.
  • Better disk optimisation.
  • Directories are moved to the beginning of the disk.
  • Reclaims MFT reserved space after disk-full.
  • Maintains a free space for temporary files.
  • Can defragment very full hard disks.
  • Can defragment very large files.
  • Can defragment individual directories and files.
  • Can be run automatically with the Windows Scheduler.
  • Can be used from the command line.
  • Can be used as a screen saver.
  • Sources available, can be customized.
Why use this defragger instead of a commercial or shareware defragger?
  • It's free.
  • Totally automatic, extremely easy to use.
  • Optimised for daily use.
  • Directories are moved to the beginning of the disk.
  • Reclaims MFT reserved space after disk-full.
  • Maintains a free space for temporary files.
  • Can defragment individual directories and files.
  • Can be used from the command line.
  • Can be used as a screen saver.
  • Sources available, guaranteed to be free of spyware, malware, nagware, and such.

       JkDefrag/MyDefrag Forum

There is a forum for JkDefrag/MyDefrag which is operated by Jeroen Kessels. There you can place questions, give feedback and share your experiences with the program.
The contributions are written in English and cover the following categories:

  • Announcements
    Information about new releases.
  • Questions and help
    For questions about how to use JkDefrag.
  • Bugs and problems
    Discussions and feedback about bugs and problems.
  • Requests for new features
    Do you have an idea for a useful new feature?
  • Programming with the library
    Questions about the programming library, and sharing example code.

website  Jump to JkDefrag v3 Forum
website  Jump to MyDefrag v4 Forum

       Known problems / Restrictions

  • JkDefrag and JkDefragGUI are 100% free of viruses or other malware, nevertheless an anti-virus program can announce in rare cases falsely an alleged virus.
    JkDefragSetup1.16.exe virus-free examined
  • The task manager at JkDefragGUI doesn't work without password / codeword of the current Windows user (Version 1.5 and lower).
      If no password is present, you can create one as follows: Start → Control Panel → User → Create password.
      There is in addition a Workaround the task manager can used without a password. This is recommended however only for advanced users.
      For Windows Pro: Start/Administrative Tools/'Local Security Policy/Security Settings\Local Policies\Security Options Accounts: Limit local account use of blank passwords to console logon only. This is in default activated. You have to deactivate it.
      For Windows Home: Start/execute/Regedit and change the following key: Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa Name: limitblankpassworduse, Type: REG_DWORD, value: 1 (activated) 0 (deactivated). Set the value to 0.
  • JkDefrag makes a special exception for files used by SafeBoot, Acronis OS Selector, SecurStar DriveCrypt, and Symantec GoBack. The files will never be moved.
  • The Windows defragmentation API refuses to move directories on FAT32 file systems. This is a known FAT32 limitation and not a bug in JkDefrag.
  • The Windows defragmentation API does not work on Windows 2000 with disks that were formatted with a cluster size greater than 4 kB. This is a known API limitation and not a bug in JkDefrag.

       Release History

Version Date Change log / Download
MyDefragGUI 2.0
beta 1
May 30, 2009
- new name MyDefragGUI
JkDefragGUI 1.16 Nov 01, 2008 - Added a directory filter to include and exclude up to 20 directories with the possibility to arrange the order processing
- Renamed and split the tab 'Log' in two sub tabs: 'After' and 'Log'
- Added the possibility to close JkDefrag and the GUI separately when defragmentation is finished
- Added as third operation system behaviour when defragmentation is finished the mode standby
- Added the possibility to save settings automatically when the program will be closed
- Added the possibility to start an other free selectable program after closing the program
- Added an info window for the case that the JkDefrag window is already closed but the process is still running in the background
  Download GUI v1.16 ( Downloads) [MD5 checksum]
JkDefragGUI 1.15 Aug 24, 2008 - Removed at 'About-window' the display of the drive name, file system and drive type
- Added at 'About-window' the display of the platform, operating system and system path
- Changed at 'About-window' the display of free and used memory. Now free and used memory shows no more the memory of the selected drive but the memory of all drives (display of selected directory remains)
- Changed at 'About-window' the colour display of the used memory at the graphical bar. Now it indicates depending on storage continuously from yellow over orange to red
- Added the display of all for the system available drives at one display with checkbox selection and additional display of drive and used size (changed from combo box to list view)
- Changed some links, button behaviours and the program look
- Excluded the doc files from the compiled package
- Fixed a bug which could appear at program starting if the program is too slow loaded into the working memory (appeared at the external and hidden mode)
- Fixed a bug at window snapping to screen edges behaviour
- Fixed a bug that crashes the program if more items than intended are in the language files
- Fixed a bug in directory selection
- Further small changes
  Download GUI v1.15 ( Downloads) [MD5 checksum]
JkDefragGUI 1.14
Apr 10, 2008 - Added full-text search to documentation
- Changed the texture of the documentation and separated the documentation according to languages
- Reduced average capacity utilization of CPU by ⅔
- Added the possibility to specify own audio file which is played when defragmentation is finished and the possibility to deactivate internal tone
- Improved the design and handling of date selection at the task manager tab
- Added saving of date selection value in the settings file
- Added delayed starting for the task manager for the modes on idle, at startup, at logon
- Added pull-down menu at the 'when ready' group for shutdown and added the possibility to reboot
  Download GUI v1.14 ( Downloads) [MD5 checksum]
JkDefragGUI 1.12 Feb 29, 2008 - Added icons to the pull-down menu
- Fixed the icon display at the tool bar on Vista
- Modified script for html-log file to changed line dump
- Added after update download desktop and quick-launch link
- Added link testing at download whether server is online
- Added user-specific spacehogs input box with checkbox for select/deselect internal spacehogs list
- Added saving of quit and shutdown values in the settings file
- Designed and added tray menu icons for hidden mode
- Changed the display of memory size name at the about window from SI to binary units
- Added SI and binary display of memory size at the about window as tip
- Fixed a bug which occurred if there was saved a unknown language name in the settings file (could emerge only by manual entry)
- Fixed the display of the Task-Manager status when changing the language
- Added to the html-log file at "the 25 biggest files" active links to the file folder (experimental)
- Added to the html-log file three-digit grouping
- Fixed a double apply of the -e mask at the screen saver in some cases
- Changed: if a directory for defragmentation was saved and the GUI is started new the drives pull-down menu and the all drives checkbox is now greyed out
- Added snapping of GUI windows to the screen edges
- Added info window when browser have to start to show html-log file
- Further diverse minor fixes and changes
  Download GUI v1.12 ( Downloads) [MD5 checksum]
JkDefragGUI 1.10 Aug 18, 2007 - Version numbers from title bar to "About" window
- Intervals at scheduler improved ("once" with calendar)
- Added drive information (Name, System, Type, Space)
- Added color-cluster information window
- Now log files are also shown as html-log file
- Changed from global to local shortcuts
- and further small changes
  Download GUI v1.10 ( Downloads) [MD5 checksum]
Version Date Change log / Download
MyDefrag 4.0
beta 1
Feb 20, 2009 Beta:
- new name MyDefrag
JkDefrag 3.36 Aug 31, 2008 - Reverted back to an old Microsoft Screensaver library. The 2008 compiler has a library that is incompatible with Windows XP
- Fixed a problem with extremely long path names.
  Download JkDefrag v3.36de ( Downloads) [MD5 checksum]
JkDefrag 3.34
Feb 01, 2008 - Re-fixed the "DisableDefaults" bug.
- Partial undo of the change that uses the mount point of a volume. It was causing problems during the automatic scanning for disks to be defragmented.
- Pushed the "Zone calculation" messages down to debug level 4.
- Fixed the VisualC example project.
  Download JkDefrag v3.34de ( Downloads) [MD5 checksum]
JkDefrag 3.24 Sep 03, 2007 - A final fix for the out-of-sequence problem.
- Bugfix for missing parameter in status message that caused JkDefrag to crash when it wanted to display the "Cannot find volume name for mount point" message. This message can happen when scanning the system for disks and a special volume is encountered such as a "subst" volume.
- The "25 largest items on disk" list in the status report is now sorted by (used) clusters instead of by (allocated) bytes.
- Fixed the progress percentage during analysis of NTFS volumes. It was counting too fast and reached 100% before analysis was complete.
- The "unmovable", "still fragmented", and "largest 25" lists in the report are now suppressed if empty.
- Directories on FAT disks cannot be moved, this is a known limitation of the Microsoft defragmentation API and not a bug in JkDefrag. To speed up things the program will now count the number of failed tries to move directories, and when it reaches 20 will ignore all directories.
  Download JkDefrag v3.24de ( Downloads) [MD5 checksum]
JkDefrag 3.16 Jun 22, 2007 - Changed the message in the docs about the screen saver under Vista, it works if User Account Control is turned off.
- Bugfix in "-a 3" (fast optimise). It would not use Perfect Fit for gaps that were larger than all the data already processed.
- Bugfix in "-a 6" (move to end of disk). Files in zone 1 would not be moved.
- Added some translations of "Program Files" to the build-in list of Spacehogs.
- Fixed a typo in the "System Volume Information" string in the Spacehogs.
- Fixed the displaying of the zone number, should have been + 1.
  Download JkDefrag v3.16de ( Downloads) [MD5 checksum]


website  JkDefrag Forum
Forum for JkDefrag, a place where you can ask questions, give feedback about features you would like, share your experiences, share code that uses the defragger library, and other things about JkDefrag.
website  Pagedefrag by Microsoft® TechNet (formerly Sysinternals)
Paging files and registry hives cannot be defragmented on a running system. This sweet little utility will automatically defragment those files when the system is booting. The counterpart of this utility is "Contig", a small defragger for use on a running system, but my defragger is far superior.
website  DiskView by Microsoft® TechNet (formerly Sysinternals)
Small utility that shows which file is using a particular location on the hard disk. Use this if you are wondering which file JkDefrag could not move. The utility takes a while to start up, because it has to analyse all files one by one, but it's a very nice little utility nevertheless.
website  AutoRuns by Microsoft® TechNet (formerly Sysinternals)
Handy utility to discover all the things that are started when windows is booting.
website  ScanDefrag
A very nice utility that will run maintenance programs as early as possible in the Windows startup. JkDefrag is one of the supported programs, others are for example Microsoft's Disk Cleanup, ScanDisk/Chkdsk, Norton's Disk Doctor, and others.
website  DiskSpeed32
Measure the speed of your hard disk. Discover how much faster your hard disk is at it's begin than at it's end.
website  HD Tune
Measure your hard disk and discover how much faster it is at the begin than at the end. Can also monitor the temperature of your hard disk and scan for surface errors.
website  LibertyKey
LibertyKey is a program collection of selected free software and useful tools for local or portable (e.g. USB memory stick) use. JkDefragGUI is one of the integrated programs.

       Imprint / Donation

Responsible for this site:
Markus Hörl
Leonrodstraße 55
80636 Munich
If you have questions etc. you can send me a mail to Markus@Hö or
Donation: is a private project. The software on is Freeware. That means, that it is passed on free of charge.
If you like this site or the offered programs you can make a donation to my PayPal account. You can contribute to reduce the maintenance costs for the server and other resulting costs to cover. By your donation you contribute that the project can continue and I can invest time into the advancement.

Thank you for your support!