删除一个月但最后一个文件的所有文件

时间:2010-06-22 16:58:54

标签: windows command-line scripting dos powershell-v2.0

我们每天都有一份备份工作。

此作业以yyyyMMdd.7z格式创建一个新文件,现在我们需要自动清理备份存储。

我们的备用警察说我们需要保留过去5天的文件,以及每个月的最后一次备份。第一步很简单,因为我有一天。但是我怎么能保持每个月的最后一次?

2 个答案:

答案 0 :(得分:2)

我们总是在一夜之间运行我们的备份,因此本月的最后一次备份可以在下个月的第一个小时便利地运行,通常在凌晨3点17分。然后模式只是* 01.7z。

也许你可以用类似的方式调整备份时间表?

否则通过 select-object --last 1 管道YYYYMM * .7z的目录列表。将其移开,重命名(如Archive_YYYYYMMDD.7z)。然后他们很容易分开。

答案 1 :(得分:0)

为了保持每个月的最后一个月,我将浏览文件夹,并通过从yyyy MMdd .7z保存yyyy,mm和dd,每个月保留最后一个文件的记录。

因此,当您正在阅读文件夹时,如果您获得MM匹配mm的记录,那么您已经检查了dd。 (如下)如果与已存储的mm不匹配,则添加它。

如果保存的dd更新,那么新的dd将删除您所在的文件。如果当前文件更新,则删除保存的文件(通过连接yyyy + MM + dd +“。7z”查找保存并用当前文件替换存储的值。