Applicable products
√ Cortex Project History 1.x
√ Cortex 365
Prerequisites
- Administrative rights on the Cortex host server
Assumptions
- The server or account where this script is run has rights to the files.
Overview
The following script includes a section at the top to edit.
Edit the values in the following lines (as required):
- 22 $backupFolder
Save as a .ps1 (PowerShell script) and execute.
###### script = File-Cleanup-v1.0.ps1
######
###### Script Version History
###### Version Date Editor Notes
###### 0.1 03MAR2023 MEH Initial creation
###### 1.0 03MAR2023 MEH v1.0 published
###### Example Scheduled Task Entry:
###### powershell.exe -NoProfile -WindowStyle Hidden -command "& {C:\Scripts\File-Cleanup-v1.0.ps1 Daily 30}"
###### Where Daily, and 30 represent the Schedule, NumDays of backup to retain
###### Parameters to pass into the script ######
param(
[string]$Schedule,
[string]$NumDays
)
###### Un-comment out the following to test the script ######
# $Schedule="Daily"
# $NumDays="30"
###### Define the Backup Folder Path and append the schedule to the end ######
$backupFolder = "C:\folder\" + $Schedule
###### Define the number of Days to retain files ######
$Days = "-" + $NumDays
###### Get the current date ######
$CurrentDate = Get-Date
###### Calculate the number of days to delete ######
$DatetoDelete = $CurrentDate.AddDays($Days)
###### Execute the routine to remove all items based on the DatetoDelete variable. Recure through all files and folders. ######
Get-ChildItem $backupFolder -Recurse | Where-Object { $_.LastWriteTime -lt $DatetoDelete } | Remove-Item
#############################################################################################
############################################ END ############################################
#############################################################################################Create a Scheduled Task and pass through the parameters
In the scheduled task, pass through the parameters for schedule and number of days to retain.
Example Schedule Task entry.
powershell.exe -NoProfile -WindowStyle Hidden -command "& {C:\Scripts\File-Cleanup-v1.0.ps1 Daily 30}"Where "Daily" is a sub-folder and "30" is the number of days of backups to retain.





powershell.exe -NoProfile -WindowStyle Hidden -command "& {C:\Scripts\File-Cleanup-v1.0.ps1 Daily 30}"
Where "C:\Scripts\File-Cleanup-v1.0.ps1" is the path and location of the target script.


If you require assistance, please let us know.
The End.