利用批处理文件bat自动删除和压缩文件

用批处理文件来管控服务日志,定时删除和压缩,以防它占的磁盘空间过大。

1、写bat文件,相关代码如下:

::服务日志处理流程:1、删除n天以前的日志  2、压缩今天之前的日志
::服务日志所在目录:D:\services\Log

::1、删除服务30天前的日志
Forfiles /p D:\services\Log /s /d -30 /m *.* /c "cmd /c del /q /f @path"


::2、压缩今天之前的日志,并删除源文件(只压缩文件类型为.log的文件)
set Path=;"C:\Program Files\WinRAR";%SystemRoot%\system32
forfiles /p "D:\services\WXOrderServerce_Standard\Log" /d -1 /m *.log /c "cmd /c WinRAR a -afzip -m3 -inul -ibck -df -ep -tk @file.zip @path"

::各参数的含义
::/p:指定要删除的目录
::/s:表示递归搜索子目录
::/d:-14表示14天前的文件,-7表示7天前的文件
::/m:. 表示所有文件类型,如果要删除特定文件格式,可自行指定(如:只删除txt文件,可写成 *.txt )
::/c:自行指定的命令,后面双引号括起来的是删除文件命令
::自行指定的命令 “cmd /c del /q /f @path” 中:
:: /c: 表示执行完批处理命令后,关闭CMD窗口
:: del: 删除文件的命令
:: /q:安静模式。删除全局通配符时,不要求确认
:: /f:强制删除只读文件。

::winRAR参数说明
::a 是命令,表示添加
::af 压缩类型开关,这里指定为zip
::df 压缩后删除源文件
::ep 压缩时不带文件路径
::ibck 后台运行压缩软件
::tk 保留原始压缩文件时间
::m<0…5> 设置压缩级别(-m0 存储 添加文件到压缩文件但是不压缩;-m1 最快 最快速的方法 (最低的压缩比);-m2 快速 快速压缩方法;-m3 标准 标准 (默认) 压缩方法;-m4 较好 较好的压缩方法 (较高的压缩比);-m5 最优 最优的压缩方法 (最高压缩比但是速度也最慢))
::inul:禁用所有消息。必须加这个,否则任务计划运行时,如果有消息待用户确认,它会一直等着,无法继续。比如,直接运行bat压缩时,如果某个文件正在被使用,winrar会弹出消息确认窗口,让我们做选择,做了选择才会继续压缩。而如果是任务计划来调用bat运行,遇到这样的问题,它不会弹出消息提示框,但是任务计划会一直运行着,直到超时才结束。加了这个开关,就不会再有消息了,就能顺畅运行下去。

参考文章
winrar命令行详解
bat脚本:自动压缩n天前的文件
Windows下使用批处理文件.bat删除旧文件

2、制定windows计划任务,调用写好的bat文件
具体步骤,网上有很多,在此不再赘述,只记录一下需要注意的两点:
(1、因为压缩比较费时,第一次执行时有可能超过2小时。六点之后可能有人使用系统了,所以为了避免给服务器过大压力,2小时后要停止执行。
在这里插入图片描述

(2、希望计划运行时隐藏cmd窗口的,看下面这篇文章
win定时计划运行bat文件如何隐藏cmd窗口

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值