使用forfiles命令和计划任务进行结合,即可以实现定期删除某文件夹的过期文件。例如每天自动删除下载文件夹中一个月前下载的文件,借助这两功能即可轻易实现。
forfiles命令
forfiles /p "path" /s /m *.zip /d -7 /c "cmd /c del @path"
- /p:指定目录,后面双引号紧跟目录
- /s:将进行递归搜索子目录
- /m:指定文件类型,后面指定文件类型,例如*.zip为压缩包格式
- /d:-7表示7天前的文件
- /c:执行命令,后面双引号括起来的是删除文件命令,即对每个符合格式和日期要求的文件进行删除操作
例如下方命令表示,删除D:\Backup\autoDelete目录下及其子目录下的7日前的所有类型的文件。
注意:此命令删除操作为彻底删除,删除后不会出现在回收站中,使用前请先进行测试,例如先创建一个测试用文件夹进行测试
forfiles /p "D:\Backup\autoDelete" /s /m *.* /d -7 /c "cmd /c del @path"
命令保存为.bat
新建txt文本文档,将上述的命令写入中,然后保存,并且修改文件后缀为.bat,并且文件名称为英文名称(防止出错)。
重命名txt文本
命定定时执行
在Windows搜索中搜索“任务计划程序”,点击此程序
打开任务计划程序
进入程序后,点击“创建任务”
为此定时设置一个名字
在“触发器”选项卡点击新建,选择出发的时机(每天、每周、每月)等,触发器的意思就是当达到此条件时就执行这个任务。
在“操作”选项卡中,点击新建,操作选择为启动程序,在“程序或脚本”栏中选中上述中保存的.bat文件。最后点击确定即可保存成功,每当系统到达对应条件时就会执行此脚本从而实现自动删除过期文件。
注意事项
- 此命令只针对文件,不会删除空目录
- 此删除操作为彻底删除,删除后不会出现在回收站中,使用前请先测试后命令
- .bat命名最好使用全英文,防止出错
- 注意/d后面的事件,加上负号表示之前(-7为今天的7天前),否则表示之后,/d后也可使用具体日期(/d -2021/01/01 表示2021年1月1日前,注意前方有个负号)
再提醒一次:此命令删除操作为彻底删除,删除后不会出现在回收站中,使用前请先进行测试,例如先创建一个测试用文件夹进行测试