如何在Powershell中删除文件夹?

时间:2018-10-19 10:58:45

标签: powershell scripting

我们有一个小的脚本,该脚本创建按每日日期命名的文件夹。我有一个脚本可以删除30天以上的文件夹。

dir "\\nas\Backup_old\*" -ErrorAction SilentlyContinue |
Where { ((Get-Date) - $_.LastWriteTime).days -gt 30} |
Get-ChildItem -Recurse | Remove-Item -Recurse -Force

原则上它可以正常工作。带有竞争的子文件夹将被删除。 但是主文件夹仍然存在,并且LastWriteTime被设置为脚本的运行时。文件夹为空。有人有解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:3)

您可能只需要删除Get-ChildItem的第二个实例(请注意dir只是Get-ChildItem的别名),因为这导致它删除了每个Get-ChildItem "\\nas\Backup_old\*" -ErrorAction SilentlyContinue | Where-Object { ((Get-Date) - $_.LastWriteTime).days -gt 30} | Remove-Item -Recurse -Force -WhatIf 的子代。第一个返回的目录:

-WhatIf

看看WhatIf输出,如果它现在看起来将删除您期望的内容,请删除drinks[]