Script to remove files older than X days

------------- Batch file ------------------------
@echo off
:: set folder path
set dump_path="E:\Shared\APP01\LOGFILES\RatingWebService2\Rating Comments\Production"

:: set min age of files and folders to delete
set max_days=7

:: remove files from %dump_path%
forfiles -p %dump_path% -m *.* -d -%max_days% -c "cmd /c del /q @path"

:: remove sub directories from %dump_path%
There are two methods to achieve this task

forfiles -p %dump_path% -d -%max_days% -c "cmd /c IF @isdir == TRUE rd /S /Q @path"

-------------- Powershell -------------------------
# set folder path
$dump_path = "E:\Shared\APP01\LOGFILES\RatingWebService2\Rating Comments\Production"

# set min age of files
$max_days = "-7"

# get the current date
$curr_date = Get-Date

# determine how far back we go based on current date
$del_date = $curr_date.AddDays($max_days)

# delete the files
Get-ChildItem $dump_path -Recurse | Where-Object { $_.LastWriteTime -lt $del_date } | Remove-Item

Leave a Reply

Your email address will not be published. Required fields are marked *