我已经做了一些寻找,但却找不到确切的代码。我所拥有的是一系列备份到远程位置的服务器备份。我需要一种方法来为这个远程位置服务器每晚运行一个Windows脚本,并根据我需要保留的天数删除文件。
每晚使用%random%标记使用唯一的文件名完成基于脚本的备份。例如,我需要保留最近20天的备份,并删除其余的
我查看了“forfiles”,但删除了所有子文件夹中一定天数后的所有文件。
我只需要一个简单的脚本来查看给定文件夹中主文件夹(目录)的日期。它会根据日期删除和删除该文件夹和所有子文件夹。
提前致谢
答案 0 :(得分:0)
使用forfiles
结合if check
你需要一个像
这样的陈述 ForFiles /P "PATH TO FOLDERS" /D -20 /C "CMD /C if @ISDIR==TRUE rmdir @FILE"
答案 1 :(得分:0)
假设每个备份都在一个文件夹中,那么这将跳过最新的20个文件夹并删除其余文件夹。删除echo关键字以激活rd命令。
您可以将/ t:c添加到DIR命令以使用文件夹创建时间。见DIR /?选项。
@echo off
pushd "d:\backup" && (
for /f "skip=20 delims=" %%a in ('dir /a:d /o:-d /b') do echo rd /s /q "%%a"
)
pause