使用 Robocopy 进行文件轮换

使用 Robocopy 进行文件轮换

我正在寻找一种使用 robocopy 轮换日志文件的方法。目前我有一个批处理文件,使用 robocopy 复制文件并将结果记录到指定的文件夹位置。我想做的是保留 7 天,然后在第 8 天删除一个。这可行吗?还是我应该创建另一个批处理文件来执行此操作并从原始批处理文件中调用它?

答案1

如果您使用批处理文件,那么它可以删除日志文件目录中的旧文件。

以下是两个参考:

ForFiles-删除旧文件等。
描述如何使用 forfiles 实用程序删除旧文件。

批处理文件删除早于指定日期的文件
是一个 stackoverflow 问题,可在此处解答您的问题。

答案2

您可以使用以下脚本:

set checklogcmd=robocopy /s /mov /create /minage:30 /r:0 /w:0
echo ### Checking Logfiles...
%checklogcmd% E:\LOGFILES E:\GARBAGE
rd E:\Garbage /s /q

答案3

将所有超过 30 天的文件与空文件夹同步怎么样?我已将其与清除命令一起使用,并取得了一些成功。

此示例仅从目标文件夹中删除所有项目。稍加编辑,它就会根据日期执行此操作。

robocopy.exe “B:\tb1\St-Cloud\EmptyFolder” “B:\St-Cloud\Daily\Fri” /E /PURGE

答案4

您可以这样做。有点丑陋,但有效。没有理由使用 robocopy,而不是直接复制。当然,这假设您的日志文件位于标准位置。

del logfile.7

robocopy logfile.6 logfile.7

robocopy logfile.5 logfile.6

....

robocopy logfile logfile.1

del logfile

相关内容