Well, after lots of feedback and some experiments I have reverted to much of the Optimize Daily script that comes with MyDefrag.
Starting with Optimize Daily, I changed the following.
1. removed ReclaimNtfsReservedAreas() [removed in next release]
2. zone 1 - set gap to start 30% of volumesize [doesn't move on each run.]
3. zone 2 - no change
3. zone 3 - limited to max of 5MB files [several large files in Layout.ini kept getting moved on each run.
4. zone 4 - added exclusions for *.jpg, *.jpeg, *.dmp, *.tmp, *.torrent, *.nsf", *.m4a, *.zip, *.png, *.uif, *.msp
5. zone 5 - limited size to 50MB [most of the spacehogs]
6. zone 6 - new zone. do Fastfill() first then defrag. [Uber hogs. prevents movement of large files twice in same run.]
The previous changes reduced the movement of large files, some 2GB. Script does not produce perfect disk but does failrly well and runs fast compared to 'stock' Optimize Daily.
Script still spends lots of time ordering directories. It would be nice if FastFill() had an option to move up as well as move down files. I would use that option for the directories, zone 2. It is not clear that sorting directories has a performance advantage over directories collected together and contiguous.
As usual comments welcomed.
# MyDefrag v4.0 default script: Optimize Daily
# v03 - added new zone prior to end and removed fastfill from last zone.
# removed reclaim NTFS
# This script is part of the standard MyDefrag distribution.
Title('Optimize Daily medium v03')
Description("Optimize Daily description") // See the "Settings.MyD" file.
/* Write the header to the logfile. See the "Settings.MyD" file for the
definition of the "LogHeader" string. */
WriteLogfile("MyDefrag.log","LogHeader")
/* Select and process the volumes one by one. */
VolumeSelect
CommandlineVolumes()
and Removable(no)
and Writable(yes)
and Mounted(yes)
VolumeActions
/* Write the "before" statistics to the logfile. See the "Settings.MyD" file
for the definition of the "LogBefore" string. */
AppendLogfile("MyDefrag.log","LogBefore")
/* Place files at 30% into the disk. */
MakeGap(VolumeSize * 0.3, DoNotVacate)
/* Zone 1: Place the MFT and some other special NTFS files. */
FileSelect
SelectNtfsSystemFiles(yes)
FileActions
PlaceNtfsSystemFiles(Ascending,MftSize * 0.1)
FileEnd
/* Zone 2: Directories. (FastFill would be ok but does not work on re-located zones*/
FileSelect
Directory(yes)
FileActions
SortByName(Ascending)
FileEnd
/* Place files at the beginning of the disk. */
MakeGap(0)
/* Zone 3: files used when booting, and a gap. */
FileSelect
ImportListFromBootOptimize() and Size(0,5MB)
FileActions
Defragment(Fast)
FastFill()
AddGap(RoundUp(ZoneEnd,VolumeFree * 0.1))
FileEnd
/* Zone 4: regular files and a gap. */
FileSelect
not(
Size(50000000,0)
or (LastAccessEnabled(yes) and LastAccess(,1 month ago))
or DirectoryName("$RECYCLE.BIN")
or DirectoryName("RECYCLED")
or DirectoryName("RECYCLER")
or DirectoryName("$*")
or DirectoryName("Downloaded Installations")
or DirectoryName("Ehome")
or DirectoryName("Fonts")
or DirectoryName("Help")
or DirectoryName("I386")
or DirectoryName("IME")
or DirectoryName("Installer")
or DirectoryName("ServicePackFiles")
or DirectoryName("SoftwareDistribution")
or DirectoryName("Speech")
or DirectoryName("Symbols")
or DirectoryName("ie?updates")
or DirectoryName("dllcache")
or DirectoryName("Installshield Installation Information")
or DirectoryName("System Volume Information")
or DirectoryName("windows.old")
or FileName("*.7z")
or FileName("*.arj")
or FileName("*.avi")
or FileName("*.bak")
or FileName("*.bup")
or FileName("*.bz2")
or FileName("*.cab")
or FileName("*.chm")
or FileName("*.dvr-ms")
or FileName("*.gz")
or FileName("*.ifo")
or FileName("*.iso")
or FileName("*.log")
or FileName("*.lzh")
or FileName("*.mp3")
or FileName("*.msi")
or FileName("*.old")
or FileName("*.pdf")
or FileName("*.rar")
or FileName("*.rpm")
or FileName("*.tar")
or FileName("*.wav")
or FileName("*.wmv")
or FileName("*.vob")
or FileName("*.z")
or FileName("*.jpg")
or FileName("*.jpeg")
or FileName("*.dmp")
or FileName("*.tmp")
or FileName("*.torrent")
or FileName("*.nsf")
or FileName("*.m4a")
or FileName("*.zip")
or FileName("*.png")
or FileName("*.uif")
or FileName("*.msp")
)
FileActions
Defragment(Fast)
FastFill()
AddGap(RoundUp(ZoneEnd,VolumeFree * 0.1))
FileEnd
/* Zone 5: regular files and a gap. */
FileSelect
Size(0,50MB)
FileActions
Defragment(Fast)
FastFill()
AddGap(RoundUp(ZoneEnd,VolumeFree * 0.1))
FileEnd
/* Zone 6: spacehog files (less important files that take up a lot of space). */
FileSelect
all
FileActions
FastFill()
Defragment(Fast)
FileEnd
/* Write the "after" statistics to the logfile. See the "Settings.MyD" file
for the definition of the "LogAfter" string. */
AppendLogfile("MyDefrag.log","LogAfter")
VolumeEnd