0

我在互联网上找到了一个脚本,我已经编辑了一点,但它不起作用

使用 Powershell WS 2008 R2 标准

脚本是:

$del480 = "I:\CISS\Upload"
Get-ChildItem $del480 -recurse *.* -force | 
    where {$_.lastwritetime -lt (get-date).adddays(-480)} | 
    Remove-Item -recurse

我需要在这个脚本中添加 4 个文件夹,删除 -480 天必须排除这些文件夹。这是文件夹:

I:\CISS\Upload\_Atest
I:\CISS\Upload\_Reporting
I:\CISS\Upload\_Templates
I:\CISS\Upload\_Upload files

有人可以帮我吗?请记住,我不是编剧,我可以读一点。但是,如果您添加诸如 add -exclude .. 之类的文本,那么我不知道该放在哪里。

4

1 回答 1

0

有多种方法可以处理这个问题。您可以在 where 中执行 foreach-loops 以检查数组等。以下是仅使用管道的替代方法。

创建路径的忽略列表,如下所示:

忽略列表.txt

I:\CISS\Upload\_Atest
I:\CISS\Upload\_Reporting
I:\CISS\Upload\_Templates
I:\CISS\Upload\_Upload files

然后尝试以下脚本

#I stored the date to avoid running it multiple times
$limit = (Get-Date).AddDays(-480)
$del480 = "I:\CISS\Upload"
#Specify path for ignore-list
$ignore = Get-Content "C:\Ignorelist.txt"

Get-ChildItem $del480 -Recurse | 
Where-Object {$_.LastWriteTime -lt $limit } |
Select-Object -ExpandProperty FullName |
Select-String -SimpleMatch -Pattern $ignore -NotMatch | 
Select-Object -ExpandProperty Line |
Remove-Item -Recurse
于 2013-05-17T13:59:43.313 回答