Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [CmdletBinding()]
- Param(
- [Parameter(Mandatory=$True)]
- [string]$filePath,
- [Parameter(Mandatory=$True)]
- [int]$daysToKeep
- )
- # Store the folder timestamp, because deleting files will modify it.
- $FolderTimestamp = (Get-Item $filePath).LastWriteTime
- $showNFO = "$filePath\tvshow.nfo"
- Write-Verbose -Message "NFO File: $showNFO"
- if (Test-Path "$filePath\tvshow.nfo")
- { [xml]$showXML = Get-Content $showNFO }
- else
- {
- Write-Error -Message "Unable to locate $showNFO"
- Exit
- }
- $validFiles = Get-ChildItem $filePath | Where-Object Name -Like ($showXML.tvshow.title + "*")
- Write-Verbose -Message ("Found " + $validFiles.Count + " files")
- $filesToDelete = $validFiles | Where-Object LastWriteTime -LT (Get-Date | ForEach-Object {$_.AddDays(-$daysToKeep)})
- Write-Verbose -Message ("Eligible files " + $filesToDelete.Count)
- $filesToDelete | ForEach-Object { Remove-Item $_.FullName }
- Write-Output ("FINISH: Removed " + $filesToDelete.Count + " files.")
- # Restore the folder Timestamp
- (Get-Item $filePath).LastWriteTime = $FolderTimestamp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement