Free (released under the GNU General Public License) disk defragment and optimize utility for Windows 2000/2003/XP/Vista/X64. Completely automatic and very easy to use, fast, low overhead, with two optimization strategies, and can handle floppies and USB disks/sticks. Included are a Windows version, a commandline version (for scheduling by the task scheduler or for use from administrator scripts), a screensaver version, a DLL library (for use from programming languages), and versions for Windows X64. JkDefrag is based on the standard defragmentation API by Microsoft, a system library that is included in Windows 2000, 2003, XP, and Vista. All defragmenters are based on this API, including commercial defragmenters. 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 defragmenters, because the heavy use of the harddisk may trigger a hardware fault.
Changes in this version:
- Commandline options are now accepted with and without a space between the option and the value, for example "-a3" and "-a 3".
- New "-e" commandline option to exclude files/directories.
- New "-f" commandline option to specify a size for the free area.
- New optimization method 6: Analyze, defragment, and move to end of disk.
- New setting in the screensaver for the status bar not to display filenames or not to display the status bar altogether.
- The logfile now shows a list of files in the status report that could not be moved, and a list of files that are (still) fragmented.
- The logfile now shows the date only once at the top of the file, no loner on every line.
- Fixed a bug for the "-l" commandline option that specifies a different location for the logfile, where the Windows version of the program would create a logfile at the default location containing only 1 line with "Starting, please wait...".
- Changed the screensaver"s "Do not defrag if last run was less than" radio buttons into a pull-down list.
- Fixed a bug in the screensaver wrapper that made the preview window very slow.
- Fixed a bug in the screensaver wrapper that prevented screensaver with a space in their filename to run.
- Added code to the screensaver to prevent multiple copies running simultaneously.
- Added more code to the screensaver so it will not include itself in the list of alternate screensavers.
- Fixed a bug that would display the wrong name for screensavers that do not have a name.
- Removed the "2003" check when listing screensavers, the wrapper makes it possible to use non-standard screensavers.
- Added a test to quickly stop optimizing when there is nothing more to do.
- Enlarged a buffer to speed up the fragment analyzation.
- Small change in the code that reduces the number of fragments in huge files that cannot be fully defragmented.
- Changed the debug level of the "FSCTL_GET_RETRIEVAL_POINTERS error: Infinite loop" from zero to 2, so it won"t always be displayed.
- Changed the debug level of the "Skipping gap, cannot fill: %I64d[%I64d]" from 3 to 5.
Changes in the DLL library:
- 2 extra parameters in the RunDefrag() call.