开发的时候,经常会对数据库做一些备份,一般都是写批处理命令行实现的。
但是备份时间长了,磁盘空间不足,就会导致备份失败。
所以想到希望能命令行删除N天前的文件。
经同事指点,发现有个强大的dos命令,forfiles
以下命令行,自动删除C盘windows临时文件夹里,一天前的文件
forfiles /p C:\windows\temp /m * /s /d -1 /c "cmd /c del /s /q @file"
/p --从哪个目录开始查询
/m --匹配文件名
/s --目录及子目录
/d --天数
/c --执行命令
@file --红色/c前面查询出来的结果
后来把这个命令和做了个批处理 del_file_by_day.bat,用来删除制定目录,制定天以前的文件
forfiles /p 1% /m * /s /d -2% /c "cmd /c del /s /q @file"
把这个文件放到 system32目录下
实际用的时候,可以直接 del_file_by_day C:\windows\temp 1
这样就可以删除N天前的文件了,再也不用为磁盘没空间发愁了。