是否根据powershell中顶级目录的使用年限删除目录?
我在一个目录中有一堆文件夹,它们都包含许多不同年代的子目录。我需要做的是根据顶级目录的使用年限删除其中的文件夹。我尝试了一些方法,但结果是它递归目录并删除它们 例如,假设我想删除超过14天的顶级文件夹(以及它们的内容,而不考虑年龄): C:\myfolder\folder1(保存30天) C:\myfolder\folder1\subfolder1(保存10天) 我想删除folder1和所有内容,即使子文件夹1比14天新 有道理吗?我试过:是否根据powershell中顶级目录的使用年限删除目录?,powershell,Powershell,我在一个目录中有一堆文件夹,它们都包含许多不同年代的子目录。我需要做的是根据顶级目录的使用年限删除其中的文件夹。我尝试了一些方法,但结果是它递归目录并删除它们 例如,假设我想删除超过14天的顶级文件夹(以及它们的内容,而不考虑年龄): C:\myfolder\folder1(保存30天) C:\myfolder\folder1\subfolder1(保存10天) 我想删除folder1和所有内容,即使子文件夹1比14天新 有道理吗?我试过: Get-ChildItem -Path c:\myfo
Get-ChildItem -Path c:\myfolder -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt 30 } | Remove-Item -Force
但这并没有删除任何内容?我错过了什么?谢谢 creationTime是一个日期,因此您不能仅将其与数字进行比较:
Get-ChildItem -Path c:\myfolder -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt (get-date.addDays(-30)) } | Remove-Item -Force
您缺少排除具有
Where对象{!$\psicontainer}
的文件夹。所以你告诉它不要包含文件夹
此外,您还希望将日期与日期进行比较
Get-ChildItem -Path c:\myfolder -Force | Where-Object { $_.PSIsContainer -and $_.CreationTime -lt (get-date).adddays(-29) } | Remove-Item -Force
啊!非常感谢你。我不知道不是接线员进的。请再来点咖啡。现在效果很好-再次感谢。