我希望结束我的批处理脚本代码,以便删除7天以上的accdb文件,该代码我已经删除了,但是需要“上次修改日期”,我需要将其更改为“上次访问”日期”或“创建日期”。
是否可以在Bat文件中执行此操作,还是应该移至PowerShell?
批处理代码:
forfiles /P O:\Backup\ /S /M *.accdb /D -7 /C "cmd /c del @PATH"
我已经读过类似的问题,但是我没有弄清楚。
答案 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退出”