【发布时间】:2020-08-31 07:02:21
【问题描述】:
我有一个简单的备份脚本,它每天将一个文件夹复制到备份目录,格式为Backup-YYYY-MM-DD。
我想制作另一个脚本,该脚本将删除所有不是从该月的第一天开始的备份(除了匹配“Backup-YYYY-MM-01”的所有备份)
我似乎找不到这样做的方法,我发现的一切与我想要的相反:only delete those ending in x
这并没有真正的帮助。
或者使用临时文件夹:move *-01 to 'temp', then delete all remaining folders
这并不理想,因为文件很大。
提前致谢
【问题讨论】:
-
您需要使用
DIR命令获取目录列表并将其通过管道传递给FINDSTR命令以过滤结果。所有这些都可以使用FOR /F命令捕获,以便您可以删除相应的文件夹。 -
如果由于某种原因在任何特定月份的第一天没有进行备份,会发生什么情况。这可能是 PC/服务器问题、非工作/假期等。在这些情况下,您可能需要
…-02、…-03等。更明智的方法是建议您保留每个月的第一个备份,无论日期如何,最好也是最后一个生产的!
标签: windows batch-file backup