首先要安装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