windows编写bat定时删除文件
一. 脚本例子
@echo on set SrcDir="C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA" set DaysAgo=5 forfiles /p %SrcDir% /m *.txt /d -%DaysAgo% /c "echo @path is deleted >> C:\Users\Administrator\Desktop\result.txt" forfiles /p %SrcDir% /m *.txt /d -%DaysAgo% /c "cmd /c del /f /q /a @path"
二. Forfiles命令参数:
参考:
https://blog.csdn.net/Ruishine/article/details/122432324
https://www.cnblogs.com/lkj371/p/17203569.html
https://blog.csdn.net/weixin_39704727/article/details/116437731
https://jingyan.baidu.com/article/4d58d5413ed1bedcd5e9c010.html
1. /m SearchMask
按照 SearchMask 搜索文件。默认的 SearchMask 是 *.*。
例如:我们想搜索rar文件 可以写为 /m *.rar
2. /p Path
指定 Path,指定要从哪里开始搜索
3. /s
指示
forfiles 在子目录中搜索。默认情况下仅搜索单个指定目录
4. /c
Command
在每个匹配的文件上运行指定的
Command,带有空格的命令字符串必须用双引号括起来
5. /d[{+
| -}] [{MM/DD/YYYY | DD}]
根据上次修改日期选择文件。选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,有绝对日期和相对日期。
二. Del命令参数
1. /q
指定静音状态。不提示您确认删除
2. /f
强制删除只读文件
3. /a
根据指定的属性删除文件, 当文件具有只读属性的时候,还得添加del /a /f 参数,所以,如果要对不知道属性的文件进行强制删除,使用del /a /f 语句是最保险的做法
三. 下面变量可以用在命令字符串中:
https://blog.csdn.net/weixin_30731305/article/details/97900909
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展。
@path - 返回文件的完整路径。