windows下定时执行bat脚本删除无用文件和文件夹

1. 删除脚本编写

@echo off
REM 设置要删除文件的天数阈值
set DaysAgo=30

REM 设置源目录列表
set "Dirs=D:\xxxxx\logs;D:\xxxxx\logs"

REM 从当前日期提取年、月、日
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%

REM 组合日期变量为ymd格式
set ymd=%yy%%mm%%dd%

REM 循环处理每个目录
for %%D in (%Dirs%) do (
    REM 遍历源目录中指定日期前的文件和文件夹,进行删除操作
    forfiles /p "%%D" /s /m "xxxx*" /d -%DaysAgo% /c "cmd /c if @isdir==TRUE (rmdir /q /s @path) else (del /f @path)"
)

REM 提示删除操作已完成
echo Delete temporary files
echo Operation complete

REM 延迟5秒,以便观察删除结果,可选操作
ping 127.0.0.1 -n 5 > nul

REM 注释掉的暂停命令,用于调试时保持窗口打开
REM pause

其中forfiles /p %SrcDir% /s /m "2020*" /d -%DaysAgo% /c "cmd /c if @isdir==TRUE (rmdir /q /s @path) else (del /f @path)"

这段代码使用了forfiles命令来遍历指定目录下的文件和子目录,并根据条件执行删除操作。下面是各个参数和命令的详细解释:

  • /p %SrcDir%:指定开始搜索的根目录,这里使用了之前定义的环境变量SrcDir,其值为E:\xxx。
  • /s:表示搜索应递归地包含所有子目录中的文件。
  • /m "xxxx*":指定要搜索的文件名模式。这里使用通配符2020*,意味着搜索将只包括那些文件名以2020开头的文件或目录。
  • /d -%DaysAgo%:设置日期过滤条件。这里的-%DaysAgo%意味着搜索将仅包括那些修改时间早于当前时间DaysAgo天数之前的文件或目录。DaysAgo是一个之前定义的变量,其值为30。
  • /c "cmd /c if @isdir==TRUE (rmdir /q /s @path) else (del /f @path)":这个参数指定了一个命令字符串,当forfiles找到匹配的文件或目录时,会执行这个命令。命令字符串使用了嵌套的cmd /c来运行一个条件语句:
    • if @isdir==TRUE:检查当前项是否为目录。
      • 如果是目录,执行rmdir /q /s @path,即安静且递归地删除该目录及其所有内容。
      • 如果不是目录,执行del /f @path,即强制删除该文件。
    • @path:代表当前处理的文件或目录的完整路径。

整体来说,这段代码的作用是在SrcDir目录下(及其所有子目录),查找所有以xxxx开头且最后修改时间超过30天的文件和目录,并将它们删除。

2. 配置任务计划程序

1.搜索任务计划程序

在这里插入图片描述

2. 创建任务

在这里插入图片描述
在这里插入图片描述

3. 触发器配置

在这里插入图片描述

这里设置执行一次,可根据实际使用场景来设置

点确定按钮后如下

在这里插入图片描述

4. 创建任务–>操作

在操作页签中通过新建窗口来选择与设置执行脚本的路径,如下图
在这里插入图片描述

点确定按钮后如下
在这里插入图片描述

5. 创建任务–>条件

在这里插入图片描述

这里保持默认

6. 创建任务–>设置

设置这里也保持默认
在这里插入图片描述

7. 确定保存设置

设置完成后点击确定,如下

在这里插入图片描述

点击确定如下

注意:应为在常规中选中了不管用户是否登录都要运行(W),所以在确定时需要输入用户密码,如果不选此项则不会弹出用户账户窗口
在这里插入图片描述

输入用户密码后,点击确定,如下

在这里插入图片描述

至此设置完成,可关闭任务计划程序窗口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值