6 Ocak 2014 Pazartesi

Delete files older than 3 days in Windows Server 2008 using PowerShell

1.Solution

#----- define parameters -----#

#----- get current date ----#
$Now = Get-Date
#----- define amount of days ----#
$Days = "3"
#----- define folder where files are located ----#
$TargetFolder = "C:\backup"
#----- define extension ----#
$Extension = "*.zip"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
#----- get files based on lastwrite filter and specified folder ---#
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
    {
    if ($File -ne $NULL)
        {
        write-host "Deleting File $File" -ForegroundColor "DarkRed"
        Remove-Item $File.FullName | out-null
        }
    else
        {
        Write-Host "No more files to delete!" -foregroundcolor "Green"
        }
    }

2. Solution

dir C:\backup -for -rec | ? {$_.LastWriteTime -le (Get-Date).AddDays(-3) -and !$_.PsIsContainer} | del -fo

Hiç yorum yok:

Yorum Gönder