java删除超过7天的文件夹_批量作业在Windows 7上删除超过7天的文件夹

因此,您的任务是删除不再需要的旧备份目录 .

棘手的解决方案是使用“删除超过X天” .

简单的解决方案如下:

@echo off

set "BackupDirectory=C:\Backup"

for /F "skip=7 delims=" %%D in ('dir "%BackupDirectory%" /AD /B /O-D 2^>nul') do (

rd /Q /S "%BackupDirectory%\%%D"

)

命令 DIR 返回包含的列表

因为 /AD (属性目录)只是子目录而且

因为 /B (裸格式)只是目录名和

因 /O-D 按日期排序,最新最高,最旧最后 .

命令 FOR 从列表中跳过前7行,即7个最新的子目录,并在其他(较旧的)目录上执行删除子目录的命令 .

在您的情况下,目录名称以 yyyy-mm-dd 开头,也可以使用 /O-N (按名称反向排序)而不是 /O-D 来保留skip = x 最新的子目录并删除所有其他子目录 .

Note: 在NTFS分区上,如果添加/修改/删除此文件夹中的任何文件/文件夹,则文件夹的最后修改日期会更改,但不会更改FAT16,FAT32或exFAT分区 .

在 /O-D 之后的 DIR 命令行上可以添加选项/ TC获取输出目录列表,该列表按文件夹的创建日期排序 . 但备份文件夹通常在创建备份后不会被修改 . 将文件夹中修改的最新文件夹保留在帐户中或仅评估文件夹创建时间是一个意见问题 .

根据我删除备份的经验,日期并不那么重要 . 重要的是仅限制备份数量以避免填充存储介质 . 例如,如果备份通常需要5 GiB,则要保留的备份数可能是10或20,但如果备份通常只需要500 KiB,则该数量可以增加到100.日期无关紧要,只是总量备份所需的字节数,因为限制是存储介质大小而不是时间 Span .

对于每次执行备份操作时始终附加行的日志文件,通常必须遵守日志文件的大小,而不是将行附加到同一日志文件的时间 Span ,以避免日志文件变大大 . 将大小> x KiB或MiB的日志文件移动到带有 /Y 的 *_old.log 以覆盖已存在的 *_old.log ,然后将新行重定向到新的日志文件通常是只有2个日志文件( *.log 和 *_old.log )的正确策略定义的最大文件大小,包含最后 x 备份操作的日志行 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值