File 在文件夹中保留最近的文件

File 在文件夹中保留最近的文件,file,batch-file,cmd,backup,File,Batch File,Cmd,Backup,我有一行用于备份客户端SQL数据库的代码,可以将存储的备份文件的数量减少到7天,以防止随着时间的推移变得失控 然而,我注意到了一个问题。客户端经常在中运行脚本,因此在执行此操作时,会删除除新文件运行之外的所有内容。我可以告诉他们每天都这样做,但你知道这是怎么回事,这不会发生,我需要缓解这种情况 我希望代码能够运行,并且不会删除任何超过7天的内容,但保留最近7天的文件(如果有意义的话) forfiles -p "Cache" -s -m *.* -d -7 -c "cmd /c del @path

我有一行用于备份客户端SQL数据库的代码,可以将存储的备份文件的数量减少到7天,以防止随着时间的推移变得失控

然而,我注意到了一个问题。客户端经常在中运行脚本,因此在执行此操作时,会删除除新文件运行之外的所有内容。我可以告诉他们每天都这样做,但你知道这是怎么回事,这不会发生,我需要缓解这种情况

我希望代码能够运行,并且不会删除任何超过7天的内容,但保留最近7天的文件(如果有意义的话)

forfiles -p "Cache" -s -m *.* -d -7 -c "cmd /c del @path"
有没有办法改变它,使它读取文件的日期,并始终保持最近7天的值,无论脚本何时运行。而不是仅仅看到这里(在执行点)的所有内容都超过7天并将其全部删除

for /f "skip=14 delims=" %%a in ('dir /a-d /o-d /b /s "C:\Path_To_Folder"') do DEL "%%a"

将skip=14更改为要保留的任意数量的最近文件

应该很容易适应。(它删除了最新的文件,保留了n个文件,因为您需要删除最旧的文件,但将
/od
替换为
o-d
解决了这一问题)感谢的可能重复我设法用Stephan link整理了一些东西。我需要编辑OP来显示行吗?@LotPings:不,Tika不想要“保留最后七天”,而是“保留最后七个文件”。Tika9o9:不,不要把你的答案放在这个问题上。您可以在下面的“您的答案”框中回答您的问题。