Program Info:
Name: | MyDefrag | Version: | 4.3.1 | Author: | J.C. Kessels | Lisence: | Freeware | OS: | | Updated: | May-22-2010 | Homepage: | MyDefrag |
MyDefrag (formely JkDefrag) is a powerfull disk defragmention program.
It begins to defragment selected drives with a selecable defragmention profile. MyDefrag can be closed at any time with no risk. It is easy to start when leaving the PC and close when you get back.
MyDefrag optimizes the drive even further every time it's run. So running it daily will result in a very vell defragmented drive. The preferred defragmention mode can be choosen with preset "scripts" included.
Download the Software: Change log :
MyDefrag v4.3.1 (May 20, 2010)
* Added the Windows "bootstat.dat" file to the build-in list of special exceptions. * To my great chagrin I have found that some programs can crash (most notably MySQL and uTorrent) if the disk on which they have open files is dismounted with the MyDefrag * DismountVolume command. The command was used in the DataDisk scripts that were introduced in the previous version. I have now removed it.
MyDefrag v4.3.0 (May 20, 2010)
* Added the * MoveUpToZone fileaction. * Changed the NTFS scanner so it will now always use 512 bytes for the USA fixup. Previously it used the number of bytes per sector, which is 512 bytes for most harddisks, but it appears that NTFS also uses 512 for ultra-big harddisks, even though they have a different number of bytes per sector. * Added some code to SelectNtfsSystemFiles() to protect the program against infinite loops in data on the disk. * Fixed a bug that caused MoveToEndOfDisk() not to display a progress percentage. * Changed the * ExcludeVolumes setting. It can now be used multiple times in a script. * Documented the "/TASKS" installer commandline option. * Added the * SkipBlock option to all the SortBy fileactions. * Added the * ExitIfTimeout setting. * Added the bouncing box display mode to the screensaver. * Added a special exclusion for the "$dcsys$" file used by DiskCryptor so MyDefrag will never move this file. The exclusion is not really needed because the file is protected by the DiskCryptor driver, but I have added it anyway, just in case. * Changed the way how variables can be defined and changed. Previously the syntax was "NAME=VALUE", but this caused undesirable error messages in case of a syntax error. Variables can now be defined and changed with the * SetVariable command. * Several improvements in error reporting. One of these is that the regular MyDefrag version will no longer ask the user to post the debug logfile on the forum. * The * ImportListFromProgramHints fileboolean will now ignore hint files that are older than 30 days. * Changed the contents of the "date" variable from "2010/12/31" into "2010-12-31". The old contents could not be used for filenames. * The installer will now create a daily scheduled task by default. Previously the default was not to create the task. * Added the "DataDiskDaily.MyD", "DataDiskWeekly.MyD", "DataDiskMonhtly.MyD", "Daily.MyD", and "Monthly.MyD" scripts. Renamed the "OptimizeDaily.MyD" script into "SystemDiskDaily.MyD", "OptimizeWeekly.MyD" into "SystemDiskWeekly.MyD", and "OptimizeMonthly.MyD" into "SystemDiskMonthly.MyD". * The installer now creates two scheduled tasks, a daily task and a monthly task. * Fixed a problem in the ZoneSize and ZoneBegin script variables. ... MyDefrag v4.2.9 (March 7, 2010)
* Added a check to * MoveToEndOfDisk to exit more quickly if the program is stopped prematurely. * Fixed an installation bug that causes an "unable to execute file" error for the MyDefragScreenSaver.scr file. * Changed the * MoveToEndOfDisk fileaction so it will skip a file faster if there is no gap large enough above the file. * Changed the * MoveToEndOfDisk fileaction so it will stop faster when MyDefrag is stopped by the user. * Fixed a bug that limited the value of constant numbers in a script to 2147483647. * The ZoneBegin will no longer be automatically moved by a zone that contains a MoveToEndOfDisk fileaction. * Removed the automatic disk filters from most of the default scripts. For example, the script for flash memory disks will now run for all the selected disks, and not only for removable disks. * Fixed a problem where enlarging a gap for FastFill would be extremely slow if the file to be moved away was a NTFS compressed file. * Fixed a bug in MaxRunTime statement that would cause it to always use zero as maximum runtime. * Fixed a bug that could cause the subroutine that enlarges gaps for FastFill(WithShuffling) to move items that were already processed (placed in a previous zone). * Fixed a bug in the grammar that prevented the WhenFinished(Shutdown) setting from accepting the sub-options. * Fixed 2 bugs in string variables. * Changed PreventScreenSaving() into * SetScreenSaver. * Changed PreventPowerSaving() into * SetScreenPowerSaver. * Changed the subroutine that vacates the NTFS reserved area, Previously it would not count NTFS reserved area free space that was already there, resulting in unnecessary data movement. * Fixed a bug in NTFS scanner so it will now load a minimum of 1 sector when loading the first record of the MFT. On ultra-big harddisks the size of an MFT record (1 kilobyte) can be smaller than the number of bytes per sector. * The * ImportListFromProgramHints fileboolean is now oompatibel with Windows XP.
MyDefrag v4.2.8 (February 13, 2010)
* Fixed a bug in the grammar of the MaxRunTime statement. It can now be used multiple times in a block, as intended. * Added a logfile footer with the finishing time and total running time. * Added ExcludeVolumes(CDRom(yes)) to the settings, to hide the cdroms in the the MyDefrag script chooser window. * If MyDefrag is started with some volumes names ("MyDefrag.exe -v C: -v D:") then the script chooser now only displays those volumes. * Added support for volume device names, for example "\Device\HarddiskVolume1". * Added the * ImportListFromProgramHints fileboolean. * Added several options to * WhenFinished, such as Hibernate, Standby, and WarnUsers. * Fixed a problem in the calculation of the ZoneSize and ZoneBegin numbers. * Changed the selection criteria of FastFill (more favor files high on the disk) to move less data and finish quicker. * Changed the installer so the association between MyD scripts and a new version of MyDefrag is not deleted any more when an old version is uninstalled. * Fixed a bug that could cause certain VolumeBooleans to crash. * Added the * MoveToEndOfDisk fileaction. * Added the * NumberBetween volumeboolean. * Added the * FileSystemType volumeboolean. * Added the * FileLocation fileboolean. * Added the Minimum() and Maximum() * NUMBER operators. * Added the * RememberUnmovables setting. * Added the Highlight.MyD example script. * Added the * SetColor "text" setting.
MyDefrag v4.2.7 (December 16, 2009)
* Fixed a bug that caused the screensaver to sometimes crash. The problem was an indirect result of a fix in v4.2.4. * Fixed a bug that could cause the AddGap() action not to be executed. * Fixed a problem that caused the gap for the NTFS reserved area to be filled again. * Fixed a bug that could crash the program during analysis. * Changed the behavior of the * MaxRunTime setting. * Changed the way the bootblock on FAT disks is read, to support non-default sector sizes. * Changed the subroutine that vacates files out of the way to move NTFS compressed files more quickly. * Added the "memory full" message to the translatable messages. * Fixed a bug that would always create the registry keys, even if only being read.
MyDefrag v4.2.6 (November 14, 2009)
* Changed the script chooser so that now all disks are deselected by default. * Fixed a problem in the calculation of the beginning and end of a zone. The gap that PlaceNtfsSystemFiles() makes for the NTFS reserved area was sometimes counted twice, causing the next zone to start too far up. * Changed the syntax so that number multipliers (such as MB and Gi) can now be used with floating-point numbers, not only integer numbers. * Added the RoundDown() function for calculating numbers. * Added extra debugging code in an attempt to find the reason why the screensaver sometimes crashes. * Changed the default debug level to zero. * Fixed a bug in MakeGap() and AddGap() that sometimes caused the program to crash. * Fixed a bug in the calculation of the ZoneSize number.
MyDefrag v4.2.5 (October 31, 2009)
* Added the !InstallDirectory! macro. * Added the !ScriptDirectory! macro. * Added the !ExecutableDirectory! macro. * It is now possible to use macros inside included files. * Added the * ProcessPriority setting. * The MakeGap() and AddGap() functions before v4.2.4 would automatically scale down a gap if it would not leave enough room for the remaining data to be processed. This limiting is now removed. * Added an extra test to make sure the script chooser will only list "*.MyD" files, and not for example "*.MyD~". * Fixed an infinite loop for unmovable NTFS compressed files. * Fixed a bug that prevented the PreventScreenSaving() and PreventPowerSaving() settings from working if they were placed in the Settings.MyD file. * Fixed an infinite loop problem for extremely rare cases where the Microsoft defragmentation api returns an empty list of extends. * Change the tree locking timeout from 15 minutes to 2 minutes.
MyDefrag v4.2.4 (October 27, 2009)
* 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.
MyDefrag v4.2.3 (October 12, 2009)
* Changed the * FullPath fileboolean. It now has separate parameters for the directories and for the filenames, and is considerably faster. * Added the * DirectoryPath fileboolean. * Renamed the !TotalDiskSpaceBytes! macro into !DiskSpaceTotalBytes!, and !TotalDiskSpaceGigaBytes! into !DiskSpaceTotalGigaBytes!. Added new macros !DiskSpaceFreeBytes!, !DiskSpaceFreeGigaBytes!, !DiskSpaceUsedBytes!, and !DiskSpaceUsedGigaBytes!. * Fixed a bug in the script chooser that caused it to display a different description than for the selected script.
MyDefrag v4.2.2 (October 11, 2009) Changes:
* Moved several more strings to the Settings.MyD file so they can now be translated. * Fixed a bug that would prevent scripts from showing up in the script chooser if the script contained a macro, for example the !Include PATH! macro. * Fixed a bug that would crash the script chooser if the user clicked an empty line in the box of scripts. * The installer no longer offers to create a scheduled task on Windows 2000. It uses the Windows "Schtasks.exe" commandline utility for that, but that utility does not exist on Windows 2000. * Fixed a bug in the AnalyzeOnly script where the statistics per disk were not appended, but would overwrite the entire previous statistics. * Changed the way the window positions are saved & restored so they cannot not end up off-screen if the screen has been resized. * Renamed WindowSize(normal) into WindowSize(restore), and added WindowSize(fixed). * Fixed a bug where the program could enter an infite loop if paused while showing the statistics. This also solves the problem of the statistics not being filled with the numbers. * Fixed a bug in the FastFill action where the program could go into an endless loop if a gap was followed by an unmovable file and all items above the gap were bigger than the gap. * Fixed a bug in a subroutine that is used by FastFill and SortBy, which was causing various erratic behaviours such as unfilled gaps and files not moved to the proper zone. * Fixed a bug that was causing the program to use excessive amounts of memory and in some cases to crash with a "Memory full" error.
MyDefrag v4.2.1 (October 2, 2009) Changes:
* Fixed a bug where a StatusBar() command in a script would turn off the statusbar in the screensaver, irrespective of the choice made in the screensaver settings dialog. * Added the script- and disk-selection menu. * The program now remembers the size and position of the window on the screen. * The Settings.MyD script is now always executed by the program itself, and needs no longer be called from within a script. * Moved the translations to the Settings.MyD script, and removed the Language.MyD script. * Hardened the screensaver against improper installations, for example when the executables have been copied to another machine (without using the MyDefrag installer). * Fixed a bug where the program could get confused when filling a zone and start filling from the beginning of the disk, when it encountered an NTFS compressed file. * Changed the SelectNtfsSystemFiles() so it also selects all files in all subfolders the $Extend folder. Previously it only selected files in the base $Extend folder, and only filenames than began with "$". * Strengthened the behavior if the Microsoft defragmentation API refuses to move a file into a gap. For example the sorted placements will now skip the gap after more than 10 failures. * The WhenFinished(shutdown) and WhenFinished(reboot) settings are no longer executed when a script is cancelled. * Fixed a problem in the scrolling and zooming calculations.
MyDefrag v4.1.2 (August 2, 2009) Changes:
* Deleted the LowMemoryUsage() setting. The program no longer caches the full paths of regular files. but still caches directories. * Added a new defragmentation algorithm, the old algorithm is now available as Defragment(Fast). * The list of fragmented files in the logfile will now show the count of wrap-around fragments, instead of the count of fragments. * Fixed a bug that would cause the "MyDefrag.debuglog" file to be created even if the "-d 0" commandline parameters was specified. * Added the SortByNewestDate() fileaction. * Fixed a bug that prevented MyDefrag from processing files that were encrypted by another userid than the userid that was running MyDefrag. * Fixed a bug in the AddGap() fileaction. It created gaps that were too big. * Added the IgnoreWrapAroundFragmentation setting. * Gaps are now also skipped by the wrap-around fragmentation analyzer. * Added the FastFill(WithShuffling) option. * Added some code to protect against circular folders. * Made some changes in how the screensaver will stop in various circumstances. * Changed the way that the !RunTime! macro is calculated. * Fixed a bug that could cause an infinite loop on very full harddisks when trying to move files out of the way (vacate). * Enlarged the width of short numbers from 7 to 11 characters.
MyDefrag v4.1.1 (July 25, 2009)
* Optimized the subroutine that searches for contiguous fragments. * Fixed a bug that would prevent the program from running (immediate finish) without a proper error message, if there was a directory called "Settings" anywhere in the path. Also added some extra error messages in case there is a problem executing a script. * Optimized the subroutine that vacates items out of the way. * Disabled the OtherInstances(ask) setting for the screensaver. * The "F1" key now looks for the manual in the installpath, instead of always using "C:\Program Files\MyDefrag v4.X\Manual.chm".
MyDefrag v4.1 (July 22, 2009)
* Added a special version of the SetFileColor() setting that can be used outside a VolumeSelect, for example in the Settings.MyD script. * It is now possible to use macro's in any STRING. * Added some keyboard keys: "F1" Open the manual. "Space" Pause / Continue "CTRL-C" Copy the path of the file under the mouse to the clipboard. "+" Zoom in. "-" Zoom out. "Arrow up" Scroll 8 pixels up. "Arrow down" Scroll 8 pixels up. "Home" Scroll to top. "End" Scroll to bottom. "Page Up" Scroll up half a page. "Page Down" Scroll down half a page. * Added the "!RunTime!" macro. * Added the "!Include!" macro. * Added Japanese translation. * Fixed the screensaver so it will add double-quotes around the name of the selected script. * Made some changes in PreventScreenSaving() and PreventPowerSaving() in the hope of solving a bug where running MyDefrag disables screen- and powersaving in Windows. * Added some extra paths to find scripts, see the * RunScript manual page. * Added Slovenian translation. * Changed the location of the debug logfile. Previously it was the current directory, now it is the installation directory. Also changed the name of the screensaver debug logfile into "MyDefrag.debuglog" (previously "MyDefragScreenSaver.debuglog"). * Added Portuguese translation. * Changed the default for the OtherInstances() setting from "exit" into "ask". * Replaced the ExitIfOnBatteryPower() command with the BatteryPower() setting. Previously the program would exit without warning if the computer was running on battery power. Now it will show a popup window asking if it should continue. * Changed the vacate policy. If there is no gap large enough for the item to be vacated then the program will now take the largest gap available, instead of the first gap. * Created a workaround for the SortByName() fileaction and the root directory on NTFS volumes. Previously it would ignore the root directory, now it will always place the root directory as the very first directory. * Added Turkish translation. |
More -><- Hide |