批处理文件可删除最后访问或创建的文件,早于X天

时间:2018-07-27 18:41:52

标签: powershell batch-file

我希望结束我的批处理脚本代码,以便删除7天以上的accdb文件,该代码我已经删除了,但是需要“上次修改日期”,我需要将其更改为“上次访问”日期”或“创建日期”。

是否可以在Bat文件中执行此操作,还是应该移至PowerShell?

Access Database Dates - Example

批处理代码:

forfiles /P O:\Backup\ /S /M *.accdb /D -7 /C "cmd /c del @PATH"

我已经读过类似的问题,但是我没有弄清楚。

1 个答案:

答案 0 :(得分:0)

我转到Powershell,它工作得很好:

$ limit =(获取日期).AddDays(-7) $ path =“ C:\ Users \ Test1”

删除早于$ limit的文件。 Get-ChildItem -Path $ path -Recurse -Force |其中,对象{!$ .PSIsContainer-和$ .CreationTime -lt $ limit} |删除项-Force

删除旧文件后删除所有空目录。 Get-ChildItem -Path $ path -Recurse -Force |哪里对象{$ .PSIsContainer -and(Get-ChildItem -Path $ .FullName -Recurse -Force |哪里对象{!$ _。PSIsContainer})-eq $ null} |删除项-强制-递归 读取主机-提示“备份已成功处理-按Enter退出”