Dar*_*son 2 batch-file windows-server
我正在寻找一种方法将最新的N个文件保存在一个目录中,删除旧文件.
我通过FTP在一个文件夹(Windows Server)中获得了每日备份,我想保留最后3个备份.这些备份有2个文件(第一个.tar.gz,第二个是MySQL转储.sql).
关键是那些备份可能不会在某些日子出现,所以我不想删除超过3天的文件.但删除尽可能多的文件,只保留最新的6个文件(3天的bacups,2个文件一次).
如何用.bat做到这一点?
提前致谢
比Endoro的答案更直接一点.这假定.sql和.tar.gz文件总是成对出现.
for /f "skip=6 eol=: delims=" %%F in ('dir /b /a-d /o-d *.tar.gz *.sql') do del "%%F"
说明:
DIR命令按降序列出按上次修改时间戳排序的文件.键入help dir或dir /?从命令提示符处获取有关所有选项的含义的文档.FOR命令处理结果.SKIP选项会跳过前6个文件,这些文件恰好是您要保留的文件,因为它们排在最前面.其余文件名将传递给DEL命令.键入FOR help for或for /?有关FOR的文档 - 它有点像野兽,有很多选项.
| 归档时间: | 
 | 
| 查看次数: | 1546 次 | 
| 最近记录: |