我正在尝试删除给定文件夹下所有子文件夹中的文件,但不想删除子文件夹本身。我已经尝试了各种示例,但它们没有按照我的预期执行。
我要操作的文件树的基本结构如下:
C:\Backups\Subfolder1 C:\Backups\Subfolder2 C:\Backups\Subfolder3
我正在使用以下代码:
我要操作的文件树的基本结构如下:
C:\Backups\Subfolder1 C:\Backups\Subfolder2 C:\Backups\Subfolder3
我正在使用以下代码:
$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
子句,则子文件夹中的文件将被包括在内,但所有目录也将被包括在内。
有人能告诉我如何在仍然忽略子文件夹本身的情况下包括子文件夹中的文件吗?
-WhatIf
标志,并且没有任何文件会被实际删除? - Martin Brandl$f = New-Item 'C:\path\to\file' -Type File; $f.CreationTime = $f.CreationTime.AddDays(-21)
。 - Ansgar Wiechers