我目前正在使用任务计划程序和使用 xcopy 的批处理文件每 6 小时将桌面上的一个文件夹备份到另一个文件夹。例如,我如何删除早于 12 个备份的备份?例如,如果我已经有 12 个备份并且它是下一个 6 小时标记,它会备份源文件夹,然后删除最旧的备份,因为现在有 13 个,所以只有 12 个。这样重复,所以它循环备份。
我的文件夹格式如下:YYYY-MM-DD_HHMM
(24 小时制)
我目前正在使用任务计划程序和使用 xcopy 的批处理文件每 6 小时将桌面上的一个文件夹备份到另一个文件夹。例如,我如何删除早于 12 个备份的备份?例如,如果我已经有 12 个备份并且它是下一个 6 小时标记,它会备份源文件夹,然后删除最旧的备份,因为现在有 13 个,所以只有 12 个。这样重复,所以它循环备份。
我的文件夹格式如下:YYYY-MM-DD_HHMM
(24 小时制)
你不是很清楚。假设,您的备份是文件夹,命名为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 ????-??-??_????
来最大限度地减少计算或影响任何其他文件夹的机会。