Windows系统下定时任务bat文件删除指定日期前的文件

@echo off  
::::::::::::::::::::::::::::::::::::::::::::::::
:: 删除指定日期前某文件夹及其子文件夹下所有文件
:: 时间以文件创建时间为参照点
:: 编辑人:sparkle-enjoy
:: 时间:20206111714::::::::::::::::::::::::::::::::::::::::::::::::

REM 指定文件夹路径
set SrcDir=G:\Test-202000611\代码备份

REM 指定天数
set DaysAgo=30
echo 删除n天前所有的文件 %DaysAgo%

forfiles /p "%SrcDir%" /s /m *.* /d -%DaysAgo% /c "cmd /c del @path"  > %SrcDir%\log.txt
 
echo 正在执行逻辑删除,请稍等……  
pause  
echo 任务完成! 

注:如若定时任务执行需要将pause注释掉或删除

相应名词命令符解释:
/p 指定的路径
/s 包括子目录
/m 查找的文件名掩码
/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前

/c 运行的命令行 表示为每个文件执行的命令。命令字符串应该
用双引号括起来。
默认命令是 “cmd /c echo @file”。下列变量可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 “TRUE”;如果是文件,返回 “FALSE”。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间

如若作为定时任务,将其添加至计算机系统应用中的定时任务即可,根据实际需求设定清理那一天的数据文件,基本查找流程 打开扫描件所存放的服务器,点“放大镜”——“任务计划程序”;大致截个图仅供参考:
Windows系统下定时任务bat文件删除指定日期前的文件_第1张图片
Windows系统下定时任务bat文件删除指定日期前的文件_第2张图片
在上面新建任务逐步操作设定时间即可,也可查阅其他资源有更详细的操作流程,希望对小伙伴们有帮助

你可能感兴趣的:(后端Java)