首先要安装7-Zip到c:\Program Files\7-Zip;

示例如下:

#define Function DeleteLog
function DeleteLog{    
    param($filePath,$TimeOutDays)    
    $allFiles=get-childitem -path $filePath             
    foreach ($files in $allFiles){                
        $daypan=((get-date)-$files.lastwritetime).days                
        if ($daypan -gt $TimeOutDays){                        
        remove-item $files.fullname -Recurse -force                 
        }          
     }
}

#define some vars
cd "C:\Program Files\7-Zip"
$stringDate=get-date -UFormat "%Y%m%d"
$fileName="${stringDate}log"

#Compress Log and (Delete Log before one month)
$SoucePath="C:\windows-services\log"
cmd /c "7z.exe a -t7z D:\logs\$fileName $SoucePath\*"
$filePath=$SoucePath
$TimeOutDays=30
DeleteLog -filePath $filePath -TimeOutDays $TimeOutDays

#Delete Backup log before two months
$Floders=Get-ChildItem d:\logs
foreach ($Floder in $Floders){    
    $Floder.lastwritetime = Get-Date
}
$filePath="D:\logs"
$TimeOutDays=60
DeleteLog -filePath $filePath -TimeOutDays $TimeOutDays