Windows环境下定期删除文件脚本
  

justgonnab 4642

{{ttag.title}}
在运维过程当中发现最头疼的莫过于服务器磁盘空间越来越大,这样的危险之处在于:如果是系统盘分区的空间挤占严重的话极有可能导致系统无法开机!(本人曾体验过一次,欲哭无泪……)

做软件运维的肯定非常有感触,新软件上线,各种调试日志,各种log,没几个小时就可以达到数个GB以上,所以时刻盯着磁盘的使用率也不是个办法。一个不留神磁盘空间可能就满了。如果碰上其它厂商的软件那就更苦逼了,自己来运维,虽然可以远程协助,但整天也是提心吊胆……

所以是时候想办法做一个定期删除的小脚本了,能让机器干的活全部还给机器。

好在一般的log日志都是按照日期来生产的,这样的话再自动清理log日志文件的时候就方便多了。

废话不多说了,放脚本:

  1. [url=home.php?mod=space&uid=48942]@echo[/url] off
  2. echo 删除log文件……
  3. rem /p-指定X天的文件
  4. forfiles /p "C:\Users\abc\Desktop\新建文件夹" /d -2 /m *.log /c "cmd /c  echo deleting @file ...【已完成】 && del /f @path"
  5. echo ——————————————————————
  6. @pause
复制代码

主要用到forfiles语句。
/p:指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定,如示例中的“C:\Users\abc\Desktop\新建文件夹”。
/d:非常重要,该参数决定了删除文件的日期。其后可加参数  [{+ | - }]或者[{MM/DD/YYYY|DD }],选择日期大于或等于(+)(或者小于或等于(-))指定日期的文件,其中MM/DD/YYYY是指定的日期,只有DD时是当前日期减去DD天。如果未指定+或-,则默认使用+。DD的有效范围是0 - 32768。
/m:查找的文件名掩码,即用来匹配需要删除的文件格式(后缀)。
/c:运行的命令行,表示为每个文件执行的命令。命令行的字符串须用双引号括起来。
  1. "cmd /c echo deleting @file ...【已完成】 && del /f @path"
复制代码
cmd:为打开命令提示符执行后续的指令。
@files:显示文件名称。
/f:指可以强制删除只读文件,无需确认。
@path:文件路径。

编写好脚本并测试,测试通过后将其添加到任务计划程序中,定期执行即可定期删除指定日期前或指定天数前的文件。

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

新手589624 发表于 2020-1-29 09:10
  
清理垃圾要及时
sangfor_闪电回_晓六 发表于 2018-4-11 09:00
  
棒棒哒,这个分享确实很实用:爱你:
发表新帖
热门标签
全部标签>
有一说一
设备维护
新版本体验
山东区技术晨报
纪元平台
每日一问
功能体验
虚拟机
安装部署配置
解决方案
排障笔记本
测试报告
授权
技术盲盒
2024年技术争霸赛
问题分析处理
标准化排查
GIF动图学习
原创分享
资源访问
齐鲁TV
云化安全能力
信服课堂视频
日志审计
每日一记
sangfor周刊
地址转换
「智能机器人」
场景专题
2025年技术争霸赛
专家问答
技术圆桌
升级
玩转零信任
升级&主动服务
VMware替换
产品连连看
畅聊IT
上网策略
运维工具
用户认证
信服故事
平台使用
排障那些事
西北区每日一问
高手请过招
高频问题集锦
全能先锋系列
安全攻防
华北区交付直播
每周精选
安全效果
专家说
产品知识周周练
技术笔记
SDP百科
北京区每日一练
故障笔记
社区新周刊
行业实践
流量管理
产品动态
技术顾问
答题自测
在线直播
MVP
VPN 对接
项目案例
存储
产品预警公告
技术争霸赛
追光者计划
2023技术争霸赛专题
技术晨报
关键解决方案
声音值千金
网络基础知识
功能咨询
卧龙计划
华北区拉练
【 社区to talk】
工具体验官
终端接入
迁移
秒懂零信任
POC测试案例
专家分享
S豆商城资讯
天逸直播
SANGFOR资讯
以战代练
文档捉虫
产品解析
产品体验官
热门活动

本版达人

feeling

本周分享达人

新手29676...

本周提问达人