Linux-Noob Forums
Defrag your Windows 2000 partitions - Printable Version

+- Linux-Noob Forums (https://www.linux-noob.com/forums)
+-- Forum: Windows Noob (https://www.linux-noob.com/forums/forum-5.html)
+--- Forum: Tips and Tricks (https://www.linux-noob.com/forums/forum-73.html)
+--- Thread: Defrag your Windows 2000 partitions (/thread-3905.html)



Defrag your Windows 2000 partitions - Digerati - 2003-12-18


The official word from MS on scheduling a defrag is "Nope." They say you must purchase 3rd party utilities to be able to schedule defragging.

 

However, I had the same problem in the past and came across a VBScript that would take care of the problem. It basically just runs the defrag MMC and uses send keys command to automate the process. It then sits in a loop until it sees that the defrag is complete and shuts it down. The code is below, just copy and paste it to notepad then save the file as defrag.vbs and then use task scheduler to schedule it.

 

<-- start copy below this line -->

set WshShell = CreateObject("WScript.Shell")

WshShell.Run "dfrg.msc"

WScript.Sleep 1000

While WshShell.AppActivate("Disk Defragmenter") = FALSE

WScript.Sleep 1000

Wend

WshShell.AppActivate "Disk Defragmenter"

WScript.Sleep 200

WshShell.SendKeys "%A"

WScript.Sleep 200

WshShell.SendKeys "D"

While WshShell.AppActivate("Defragmentation Complete") = FALSE

WScript.Sleep 5000

Wend

WshShell.AppActivate "Defragmentation Complete"

WScript.Sleep 200

WshShell.Sendkeys "{TAB}"

Wscript.Sleep 500

WshShell.Sendkeys "{ENTER}"

Wscript.Sleep 500

WshShell.Sendkeys "%{F4}"

<-- end copy -->