我有几个文件,名称类似 yyyymmdd-hhmiss.JobActivity2Reportyyyymmdd.csv。
我需要一个 Windows 命令(最好是单个命令,而不是 CMD 文件)来删除超过 14 天的具有这种命名格式的文件。我会将此命令放入 Tidal(调度程序)作业中,以保持存档目录的清理。此外,我想使用文件上的时间戳(而不是编码到文件名中的时间戳)来决定要删除的内容 - 有可能多个文件可能在同一天的不同日期进入 - 例如,我们可能会在星期一收到星期六、星期日和星期一的文件。
任何帮助将不胜感激。
多谢。
答案1
我认为您无法使用标准 shell 工具在一个命令中实现这一点。
尝试:
powershell -command "& Get-ChildItem 'C:\MyStuff' | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-14)) -and ($_.Name.Contains('JobActivity2Report'))} | Remove-Item -force"