windows编写bat定时删除文件

发布时间 2023-07-07 09:26:47作者: 坚强的小蚂蚁

 

一. 脚本例子

@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     - 返回文件的完整路径。