删除超过30天的文件

时间:2017-12-07 09:45:53

标签: powershell

$Exclude = @("Folder_1","Folder-2","~snapshot")  
$path = "\\\Server\Test"
$limit = (Get-Date).AddDays(-30)

$Files = Get-ChildItem -Path $PATH -Recurse -Force |
         Where-Object {!$_.PSIsContainer -and $_.LastWriteTime -lt $limit} |
         Remove-Item -Force

我正在尝试删除30天以前的所有文件,但该路径中定义为$Exclude的文件夹除外。

执行此代码时遇到2个问题:

  1. Remove-Item无法删除长度超过248个字符的文件。
  2. 我不知道如何定义排除(不允许删除它们)。

1 个答案:

答案 0 :(得分:0)

mkdir C:\delete
robocopy "\\Server\Test" "c:\Delete" /E /MOVE /MINLAD:30 /LOG:"C:\temp\DeleteOldFiles.txt" /XD "This folder will not be deleted" /FAT 
rmdir c:\delete /s /q

这就是我解决这个问题的方法。这个测试和工作!