How to Schedule Disk Cleanup in Windows 7 & Vista

It’s always a good idea to run regular maintenance tasks like Disk Cleanup on your Windows machine to help keep it running smoothly. Today we take a look at how to schedule a basic Disk Cleanup task, and how to use command line switches for a more advanced setup.

Schedule Disk Cleanup Basic

Windows includes some handy tools to help keep your machine operating smoothly. One such tool is Disk Cleanup that can remove temp and old files to help you reclaim some hard drive space. You might want to set it up to run weekly or monthly depending on what works best for you. To schedule Disk Cleanup to run on a regular basis we need to schedule a task. For this example we’re using Windows 7, but the steps are essentially the same in Vista as well.

Click on the Start Menu and enter task scheduler into the search box and hit Enter.

30disk

The Task Scheduler opens and you’ll want to click on Action then select Create Basic Task.

31disk

The Create Basic Task Wizard comes up and from here type in a name for the task and a description then click Next.

32disk

Now select how often you want Disk Cleanup to run…Weekly, Daily, Monthly, One Time…etc. There is not right or wrong answer to how often you run it. It’s completely up to you and you might want to try out some different schedules. In this example we’re going to select weekly.

33disk

Since we set it up to run weekly we need to schedule it when to start, how often it reoccurs, and which day of the week to run it.

34disk

Next under Action select Start a program

35disk 

In the Program/script field type in cleanmgr.exe

56bas

Or you can hit browse and select Disk Cleanup which is in C:\Windows|system32\cleanmgr.exe

57bas

Under Program/script you’ll see the path to Disk Cleanup as C:\Windows\system32\cleanmgr.exe

37disk

Then you’re shown a summary of the scheduled task and if everything looks correct click on Finish.

38disk

For this basic setting we scheduled it for a time when we know the computer will be in use. When it’s time for the Scheduled Task to occur it will pop up and you can run it by selecting the drive to clean up.

41disk

Disk Cleanup starts its calculations…

42disk

Now the results and you can choose the files to delete.

43disk

Advanced Command Line Switches

While the above method is effective, you may not want to interact with the Disk Cleanup utility at all. Running a couple of command line switches will allow you to select what to have cleaned up and run everything automatically. To open the Command Prompt type cmd into the search box in the Start Menu and hit Enter.

51adv

With the Command Prompt open type in the following:

cleanmgr.exe /sageset:1

That will open the Disk Cleanup Settings dialog box where you can select the items you want Disk Cleanup to delete. You’ll notice there are a lot more options here than when you go through the GUI to cleanup files.

52adv

After selecting the files you want to be deleted in Disk Cleanup Settings click Ok to close out of the screen. The /sageset:1 command creates a registry key that saves the settings you entered.

Now go in and create your Scheduled Task like we showed previously, but this time you’ll want to add in /sagerun:1 into the Add argument field.

55adv

Now when Disk Cleanup runs it’ll retrieve those saved settings you created with /sageset:1 and you won’t need to interact with Disk Cleanup at all. It will run automatically and clean up the files you selected in Disk cleanup Settings.

Task Scheduler Error

When you launch Task Manager in Windows 7 you might get the following error message. It tells you to hit refresh but the error keeps coming back. It doesn’t seem to negatively affect anything you schedule, but it’s quite annoying.

39disk 

From the research I’ve done on this error, there are a handful of different solutions that have worked for different people. On our system, the Disk Defrag Schedule was turned off, so we turned it back on and resolved the issue. On a separate Windows 7 system the Disk Defrag Schedule was already on (which it is by default) and turning it off cured the error. On another machine I had to turn it off then back on to fix the error message.  

50disk

Since this “rub your head and pat your belly” approach worked we didn’t try any other possible fixes. If you find it doesn’t work or have found another solution let us know in the comments.

Conclusion

If you use the advanced switches to run Disk Cleanup it actually offers a lot more choices. In the /sageset:1 switch, “1” is just an arbitrary number. You can enter any number you want, but make sure /sagerun:”x” corresponds to the number you used in /sageset:”x”. So you can customize the switches for different types of files you want to clean in Disk Cleanup Settings.

For example, maybe you only want to clean Temp Internet files during a cleanup session, then you could do /sageset:1 and /sagerun:1 for that. Then if you want to clean up all files you could use /sageset:10 and /sagerun:10 for that. The switches give you more flexibility in the types of files that are deleted during the Disk Cleanup session. Whichever method you use, or if you just want to run it manually, running Disk Cleanup will keep your drive free of unwanted files.

Brian Burgess worked in IT for 10 years before pursuing his passion for writing. He's been a tech blogger and journalist for the past seven years, and can be found on his about me page or Google+