[Windows] 定期自动删除不必要的日志文件

您好,
我们最近的系统正常运行时间约为12分钟
我是系统解决方案部门的Kawa。

春天转眼就到了。
我个人最喜欢春天,因为万物复苏,一切都焕然一新。
我也想彻底改掉以前那些尴尬的习惯,所以这次我想写写Windows日志轮换。让我们从春天开始清理那些不必要的文件吧。

执行环境

Windows 11 专业版

准备批处理文件

某个业务应用程序的操作日志文件C:\Users\testuser\Documents\test保存在
这些日志文件似乎一直在增长,手动逐个删除非常麻烦。这次,我们将介绍如何创建一个批处理文件,使其每两周定期删除这些文件。

首先,使用文本编辑器创建一个批处理文件(.bat 格式),如下所示。

"logrotate.bat"

@echo off setlocal set LOGDIR="C:\Users\testuser\Documents\test" forfiles /P "%LOGDIR%" /M *.log /C "cmd /C Del /S @path" /D -14 exit /B 0

将其添加到 Windows 任务计划程序中,即可开始使用。

项目描述

@echo 关闭 setlocal

▶ `@echo off` 会禁用输出显示。使用 `setlocal` 可确保此程序中使用的环境变量不会影响其他程序(本地化)。

设置 LOGDIR="C:\Users\testuser\Documents\test"

▶ 将目标日志存储位置的路径分配给变量“LOGDIR”。

forfiles /P "%LOGDIR%" /M *.log /C "cmd /C Del /S @path" /D -14

▶ 这很复杂,所以我们把它分解成几个部分来讲解。

根据以下帮助文档,
使用 /P 指定相关路径,
/M 搜索文件(在本例中,是扩展名为“.log”的文件),
/C 执行任意命令,
/D 检查经过的天数。在本例中,是 14 天,即 2 周。

forfiles 命令帮助 FORFILES [/P 路径名] [/M 搜索掩码] [/S] [/C 命令] [/D [+ | -] {yyyy/MM/dd | dd}] 说明:选择一个文件(或一组文件)并对该文件运行命令。这对于批处理作业非常有用。 参数列表: /P 路径名 指示搜索的起始路径。默认文件夹为当前工作目录 (.)。 /M 搜索掩码 按搜索掩码搜索文件。默认搜索掩码为“*”。 /S 指示 forfiles 同时处理子目录(例如“DIR /S”)。 /C 命令 指示要对每个文件运行的命令。命令字符串必须用双引号括起来。默认命令为“cmd /c echo @file”。 命令字符串中可以使用以下变量: @file - 返回文件名。 @fname - 返回不带扩展名的文件名。 @ext - 仅返回文件扩展名。 @path - 返回文件的完整路径。@relpath - 返回文件的相对路径。@isdir - 如果文件类型是目录,则返回“TRUE”;如果是文件,则返回“FALSE”。@fsize - 返回文件的大小(以字节为单位)。@fdate - 返回文件的最后修改日期。@ftime - 返回文件的最后修改时间。如果在命令行中使用特殊字符,请以 0xHH 格式的十六进制代码指定字符(例如,制表符为 0x09)。内部 CMD.EXE 命令必须以“cmd /c”开头。/D Date 选择最后修改日期在指定日期之后(+)或之前(-)的文件,格式为“yyyy/MM/dd”。或者,选择最后修改日期在当前日期之后或之前“dd”天的文件。有效的“dd”值介于 0 和 32768 之间。如果未指定,则默认使用“+”。 /? 显示帮助或用法。
"cmd /C Del /S @path"

▶ 此时,使用删除命令“Del”和 /S @path 从所有子目录中删除指定文件,并显示已删除的文件名。

出口 /B 0

▶ 在退出命令中添加“/B”将终止批处理,指定退出代码“0”将终止 cmd.exe 而不返回错误。

执行结果

您可以尝试通过在命令提示符中手动执行以下命令进行调试。
在命令提示符中放置一个文件,然后检查结果(不带 /D 选项)。

testuser> forfiles /P "%LOGDIR%" /M *.log /C "cmd /C Del /S @path" 已删除文件 - C:\Users\testuser\Documents\test\test.log 已删除文件 - C:\Users\testuser\Documents\test\test1.log 已删除文件 - C:\Users\testuser\Documents\test\test2.log

已成功删除。
我们快完成了。现在我们将配置任务计划程序。

添加到任务计划程序

使用 Windows 搜索或类似方法打开任务计划程序。
从菜单中,单击【任务计划程序库】>【创建任务】。


▶ 在【常规】选项卡中,您可以设置任务名称和权限,例如“仅在登录时运行”。根据您要运行的内容,酌情调整安全选项。


▶ 在【触发器】选项卡中,您可以设置执行时间。在本例中,我们将其设置为从2月9日开始的每个星期日午夜。


▶ 最后,从【操作】选项卡中选择您创建的程序文件。

只要设置得当,你就不必再担心电脑的存储容量了,从四月开始你就能全力以赴!不要回头看过去,努力成为一个全新的成年人吧!

~完成~

如果您觉得这篇文章对您有帮助,请点个“赞”!
29
加载中...
29票,平均分:1.00/129
42,340
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

川健

来自系统解决方案部门的
一只奇特的宝可梦