gpt4 book ai didi

powershell - 删除子文件夹中超过 x 天的文件

转载 作者:行者123 更新时间:2023-12-02 20:50:33 25 4
gpt4 key购买 nike

我试图删除给定文件夹的子文件夹中的所有文件,而不删除子文件夹本身。我尝试了各种示例,但它们没有达到我的预期。

我尝试协商的文件树的基本结构是:

C:\Backups\Subfolder1C:\Backups\Subfolder2C:\Backups\Subfolder3

and I am using the following code:

$limit = (Get-Date).AddDays(-14)
$path = "C:\Backups"

Get-ChildItem -Path $path -Recurse -Force |
Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } |
Remove-Item -WhatIf

我发现尽管使用了 -Recurse 标志,但子目录中的文件仍被忽略,尽管 C:\Backups 目录中的所有文件都包含在内。如果我删除 !$_.PSIsContainer 子句,则包含子文件夹中的文件,但所有目录也包含在内。

谁能告诉我如何将文件包含在子文件夹中,同时仍然忽略子文件夹本身?

最佳答案

如果您使用的是 powershell 3.0,则只需使用 -File 开关即可:

$limit = (Get-Date).AddDays(-14)
$path = "C:\Backups"
Get-ChildItem -Path $path -File -Recurse | where { $_.LastWriteTime -lt $limit } | Remove-Item

关于powershell - 删除子文件夹中超过 x 天的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39575887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com