实现用于备份目的的旋转路径



我想每天运行一次映像备份(在Windows上使用命令行)。我想为过去三天中的每一天保留一张图像,因此我必须在每次备份运行时在 3 条路径之间轮换,例如

c:image0.ext // encode as 0, see text below
c:image1.ext // encode as 1
c:image2.ext // encode as 2

我想在文本文件中写入 0、1 或 2,以某种方式读取它的值,然后做 sth。 像(数字+1)mod 2一样,执行备份,将新数字写入文本文件。然后,我将使用 if 语句将 0 到 2 的每个数字链接到路径。有没有更好/更简单的方法?感谢您的任何提示!

由于imageX.ext是一个文件,我假设它是数据的一些压缩存档,可以分析为zip文件。每次用新版本替换修改日期时,修改日期都应更新,因此您不需要单独的文件来跟踪最新的图像。您可以使用按日期排序的 DIR 来获取最新的图像(列出的最后一个图像)。

@echo off
for /f "delims=" %%F in ('dir /b /od c:image?.ext') do set lastImage=%%F
set /a nextImage=(%lastimage:~-5,1%+1)%%3
set nextImage="c:image%nextImage%.ext"

如果有人在拍摄上一张图像后创建了与您的文件掩码匹配的另一个文件,则此算法将中断。

最新更新