0

我有一个 PS 脚本,它从超过 15 天的特定路径中删除文件夹和文件。我想排除“_tasks”文件夹及其内容被删除,但脚本会删除其中的文件和文件夹,即使我提供了 -Exclude 属性来排除 _tasks 文件夹及其内容。

下面是我正在使用的脚本。

如何排除 _tasks 文件夹及其子文件夹和文件被删除?

Get-ChildItem –Path "F:\Suraj\Garbage" -Recurse -Exclude "__tasks" | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-15))} | 删除-项目-强制-递归

下图显示左侧的文件在 _tasks 文件夹中被删除。我不希望它们被删除。任何相同的建议都会有所帮助。

在此处输入图像描述

4

1 回答 1

0

这段代码选择除了文件夹 _task 及其子文件夹之外的所有文件..

Get-ChildItem -Path 'F:\Suraj\Garbage' -Recurse  | 
Select-Object  LastWriteTime -ExpandProperty FullName |
Where-Object { ($_ -notlike 'F:\Suraj\Garbage\_tasks*') -and ($_.LastWriteTime -lt (Get-Date).AddDays(-15))} |
Remove-Item -Force -Recurse

或者更好地像 Theo 的建议:

Get-ChildItem -Path 'F:\Suraj\Garbage' -Recurse  | 
Where-Object { ($_.FullName -notlike 'F:\Suraj\Garbage\_tasks*') -and ($_.LastWriteTime -lt (Get-Date).AddDays(-15))} |
Remove-Item -Force -Recurse
于 2022-02-15T13:10:00.543 回答