"Delete Files Older Than" Batch Script

Someone asked on Server Fault:

So in the work of doing backups, I need a batch script that would allow me to delete files in a specified directory, that are older than lets say, 3 days. This script will be set as a scheduled task to run at a specified time every day.

I posted the following answer, which was chosen as the accepted answer and received 8 upvotes:

If powershell is acceptable (should be, as its enabled by default on Server 2008+) try this:

$numberOfDays = 3
$Now = Get-Date
$TargetFolder = "C:\myoldfiles"
$LastWrite = $Now.AddDays(-$numberOfDays)
$Files = get-childitem $TargetFolder -include *.bak, *.x86 -recurse | Where {$_.LastWriteTime -le "$LastWrite"} 

foreach ($File in $Files)
{
    write-host "Deleting File $File" -foregroundcolor "Red";
    Remove-Item $File | out-null
} 

Souce here.


Originally posted on Server Fault — 8 upvotes (accepted answer). Licensed under CC BY-SA.

signed letter b

Dad. Geek. Gamer. Software developer. Cloud user. Old Car enthusiast.  Blogger.


Top Posts


profile for Nate on Stack Exchange, a network of free, community-driven Q&A sites
a proud member of the blue team of 512KB club
Thoughts, opinions, and ideas shared here are my own. © 2026 Nate Bross.