【发布时间】:2019-06-16 02:34:21
【问题描述】:
大家好,我有脚本需要删除早于 90 天的文件。问题是没有时间计算 90 天的脚本工作正常。如果我们添加何时条件来检查时间框架,例如:90 天它不起作用。
我有特定的文件夹,其中包含脚本下面的子文件夹,不删除子文件夹脚本下的文件删除文件只指定文件夹它删除子文件夹文件。
我们有要求的 power shell 脚本,它应该删除超过 90 天的文件,它还应该删除子文件夹下的文件。
任何人都可以建议对以下脚本进行任何更改
Get-ChildItem -Path "D:\samples\" -Include *.* -Recurse -Force | where CreationTime -lt (Get-Date).AddDays(-10) | foreach {$_.Delete()}
【问题讨论】:
-
输入
Get-ChildItem -Path "D:\samples\" -Include *.* -Recurse -Force | where {$_.CreationTime -lt (Get-Date).AddDays(-10)}时有没有输出?您应该获取所有超过 10 天的文件... -
我没有看到任何输出。文件夹 D:\samples\test 有大约 60 个文件,具有不同类型的扩展名,如 XML、.log 等,几乎所有文件都是旧文件。
-
和
| where {$_.CreationTime -gt (Get-Date).AddDays(-10)}一起使用怎么样?-gt应使其显示过去 10 天内创建的所有文件。
标签: shell powershell powershell-2.0 powershell-3.0