Windows下使用bat控制文件数量

    xiaoxiao2021-03-25  158

    Windows保留指定个数文件,删除老旧文件


    目的

    使指定目录内仅保留最近修改的20个文件,其余删除

    代码块

    @echo off & setlocal enabledelayedexpansion set workPath=F:\test set n=0 for /f "delims=" %%i in ('dir /b /s /o-d "%workPath%"') do ( echo %%i set /a n+=1 echo !n! if !n! GTR 20 ( del /f /a "%%i" ) ) pause

    原理

    将目录内文件按最后修改时间倒序,逐一读取并计数。前二十个文件不执行任何操作,计数超过20个就执行删除命令。

    注释

    setlocal enabledelayedexpansion必须加,否则无法正常计数

    GTR 大于; EQU 等于; NEQ 不等于; LSS 小于; LEQ 小于等于; GTR 大于; GEQ 大于等于;

    转载请注明原文地址: https://ju.6miu.com/read-9511.html

    最新回复(0)