Auslogics Disk Defrag Touch 126.96.36.199
版本下載：Auslogics Disk Defrag Touch 188.8.131.52
Auslogics Disk Defrag 184.108.40.206
版本下載：Auslogics Disk Defrag 220.127.116.11
* 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.
* 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.
- 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.
- 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 "DeviceHarddiskVolume1".
- 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.
* 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.
- 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.
* 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.
- 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.
* 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.
* 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.
* 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.
* 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.