0

我目前正在使用任务计划程序和使用 xcopy 的批处理文件每 6 小时将桌面上的一个文件夹备份到另一个文件夹。例如,我如何删除早于 12 个备份的备份?例如,如果我已经有 12 个备份并且它是下一个 6 小时标记,它会备份源文件夹,然后删除最旧的备份,因为现在有 13 个,所以只有 12 个。这样重复,所以它循环备份。

我的文件夹格式如下:YYYY-MM-DD_HHMM

(24 小时制)

4

1 回答 1

1

你不是很清楚。假设,您的备份是文件夹,命名为BackupYYYYMMDD

dir /b /ad /o-n backup*为您提供备份文件夹(简单格式,仅目录,按名称排序(反向以最新开始)*)

将其放入 afor /f通过跳过 12 行来解析输出,结果是:

for /f "skip=12 tokens=*" %%i in ('dir /b /ad /o-n backup*') do ECHO rd /s /q %%i

删除ECHO, 当输出看起来不错时。

*) 如果您有其他日期格式,最好使用/o-d(按日期排序,最新的在前)

对于像您这样命名的备份文件夹,YYYY-MM-DD_HHMM您可以使用它dir /b /ad /o-n ????-??-??_????来最大限度地减少计算或影响任何其他文件夹的机会。

于 2016-04-24T04:53:29.240 回答