MyDefrag is a disk defragmenter and optimizer (a maintenance utility to make your harddisk faster) for Windows 2000, 2003, XP, Vista, 2008, and for X64. It is freeware, no time limit, fully functional, no advertisements. Fast, low overhead, with many optimization strategies, can handle floppies, USB disks, memory sticks, and anything else that looks like a disk to Windows. Included are a set of easy to use scripts for endusers, a scripting engine for demanding users, a screensaver, and a combined Windows plus commandline version that can be scheduled by the Windows task scheduler or for use from administrator scripts.
MyDefrag is extremely solid because it is based on the standard defragmentation API by Microsoft, a system library that is included in Windows 2000, 2003, XP, Vista, and 2008. Most defragmenters are based on this API, including the free defragmenter that comes with Windows and many commercial defragmenters. Basically all MyDefrag does is send "move this file to that location" commands to the API. The API is part of the operating system and can safely move almost any file on the disk, without risk and while the computer is in full use.
- Added the MoveUpToZone fileaction.
- Fixed a bug in the Title() setting that caused it not to replace macros.
- Fixed a bug where a change in the size of the windows would not be remembered if the windows were not moved away from the top-left of the screen.
- Added a parameter to PlaceNtfsSystemFiles to set the size of the NTFS reserved area.
- Added the !ProgressPercentage! macro.
- The script chooser will no longer display volumes that are excluded with ExcludeVolumes() in the Settings.MyD file.
- Changed the syntax of the MakeGap and AddGap actions. It is now possible to place zones anywhere, they do not have to be placed one-after-another from the beginning of the disk.
- Changed the default scripts so that the MFT, some other NTFS system files, and the directories, are now placed 30% into the data on the disk.
- Fixed a bug in the screensaver that would not display the progress percentage.
- Fixed a bug in the graphics code that will properly show StatusBar(path) if StatusBar(Status) is not specified.
- Changed the vacate function so that when there are no gaps above the end of the zone, it will use the highest gap available. Before it would use the first gap available.
- Changed the default script for the screensaver into Optimize Daily. Before it was Optimize Weekly.
- Changed the default setting for the status bar of the screensaver into Full Status Bar. Before it was No Status Bar.
- The positions of the windows are now also saved when the windows are moved and not only when they are resized.
- If the Windows defragmentation API has not succesfully moved an NTFS compressed file then MyDefrag will no longer try to move the file with the alternative method, but leave the file where it is and mark it as unmovable. The alternative method is extremely slow for compressed files.
- Made a change that should increase the chance of succesfully moving files on Windows 2000 machines. Sometimes files could not be succesfully moved and they would be marked as unmovable.
- Fixed a bug that caused unnecessary work and unfilled gaps at the end of a zone for the SortBy fileactions.
- The script chooser window will now list scripts that contain a syntax error. The description of the script shows the error.
- Fixed a bug where the subroutine that determines if a file is fragmented (see the IgnoreWrapAroundFragmentation setting) would treat gaps as unmovable.
- Fixed a bug that caused the program to skip very big FAT volumes.
- If the Sortby fileactions find two files to be equal (for example SortBySize and files with equal size) then the program will now also compare the Inodes. This reduces the number of filemovements.
- The !Include PATH! macro is now evaluated before any other macros, so that macros inside the included file will be processed.