我写了一个批量文件,用于从PC备份文件夹。 备份存储在服务器上,例如\ server \ backup \ pc1 \ folder1 \ today 现在,备份脚本每天都在运行一次。在第11天它有11个子文件夹unter folder1。现在每天,当他再次备份并创建一个文件夹11时,它应该自动删除oldeset,以便再次有10个备份文件夹。
我尝试用forfiles.exe(集成在windows中)来实现。但是对于完整的文件夹,它并没有那么好用。
你能帮帮我吗?谢谢!
答案 0 :(得分:1)
@echo off
setlocal enableextensions disabledelayedexpansion
pushd "d:\somewhere\backups" && (
for /f "skip=10 delims=" %%a in (
'dir /b /ad /tc /o-d'
) do echo rmdir /s /q "%%~fa"
popd
)
它只是更改到指定的文件夹,获取文件夹的下降创建日期列表,跳过前十个并删除其余文件
rmdir
命令仅回显给控制台。如果输出正确,请删除echo
命令
答案 1 :(得分:0)
您使用的是哪个版本的Windows?这适用于XP&以上:
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/ S除目录本身外,还删除指定目录中的所有目录和文件。用于删除目录树。
/ Q安静模式,不要问是否可以用/ S删除目录树。
有关详细信息,请参阅此处: http://www.computerhope.com/rmdirhlp.htm