批量 - 删除超过10天的文件夹

时间:2014-09-16 13:08:43

标签: batch-file

我写了一个批量文件,用于从PC备份文件夹。 备份存储在服务器上,例如\ server \ backup \ pc1 \ folder1 \ today 现在,备份脚本每天都在运行一次。在第11天它有11个子文件夹unter folder1。现在每天,当他再次备份并创建一个文件夹11时,它应该自动删除oldeset,以便再次有10个备份文件夹。

我尝试用forfiles.exe(集成在windows中)来实现。但是对于完整的文件夹,它并没有那么好用。

你能帮帮我吗?

谢谢!

2 个答案:

答案 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