1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| function New-FileNameTimeStamped {
param($FileName, $Date = (Get-Date), $Format = 'dd-MM-yyyy-HH-mm-ss')
$SF = New-object System.IO.FileInfo $FileName
"{0}\{1}-{2:$Format}{3}" -F $SF.Directory, $SF.BaseName, $Date, $SF.Extension
} # New-FileNameTimeStamped
# variable pour le fichier log avec la date grace a la fonction
$LOG = New-FileNameTimeStamped -FileName 'c:\temp\Log.txt' -Format 'ddMMyyyy'
$Folder = "C:\Purge"
# supprimer les fichiers plus anciens que 30 jours
try {
Get-ChildItem $Folder -Recurse -Force -ErrorAction stop |
where {-not $_.PsIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-1)} |
ForEach-Object {
$_ | Remove-Item -Force -ErrorAction stop
$_.FullName | Out-File $LOG -Append
}
Write-Warning "purge des dossiers ok"
echo "purge fini"
exit 0
}
catch {
Write-Warning "purge des dossiers NOK"
echo "purge NOK"
exit 1
} |
Partager