0

我想每天运行一次映像备份(在 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,以某种方式读取它的值,然后做某事。like (number+1) mod 2,执行备份,将新的数字写入文本文件。然后,我将使用 if 语句将每个数字从 0 到 2 链接到路径。有更好/更简单的方法吗?感谢您的任何提示!

4

1 回答 1

1

由于 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"

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

于 2012-04-12T15:35:28.907 回答