[Windows]定期自动删除不再需要的日志文件
你好。
我是系统解决方案部的Kawa,最近正常运行时间约为12分钟
不知不觉间,春天就到了。
就我个人而言,我最喜欢春天,感觉就像一个新的开始,因为很多东西都是新的。
如果可以的话,我想摆脱过去的黑历史,所以这次我就写一下Windows日志轮转。从春天开始,开始整理不必要的文件。
执行环境
Windows 11 专业版
准备批处理文件
某个业务应用的操作日志文件保存在
C:\Users\testuser\Documents\test 这个日志文件就像一台永动机,每天都在添加。手动删除它们很痛苦。这次,我将解释一个批处理文件,该文件会在两周后定期删除它。
首先,使用文本编辑器创建一个批处理文件(.bat 格式),如下所示。
"日志旋转.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 /乙 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 command 表示对每个文件执行的命令。 将命令字符串括在双引号中。 默认命令是“cmd /c echo @file”。 命令字符串中可以使用以下变量: @file - 返回文件的名称。 @fname - 返回不带扩展名的文件名。 @ext - 仅返回文件扩展名。 @path - 返回文件的完整路径。 @relpath - 返回文件的相对路径。 @isdir - 如果文件类型是目录,则返回“TRUE”;如果是文件,则返回“FALSE”。 @fsize - 返回文件的大小(以字节为单位)。 @fdate - 返回文件上次修改的日期。 @ftime - 返回文件的最后修改时间。 如果在命令行中使用特殊字符,请以 0xHH 格式以十六进制代码指定字符(例如,制表符为 0x09)。 CMD.EXE 的内部命令之前需要“cmd /c”。 /D 日期 使用格式“yyyy/MM/dd”选择上次修改日期在指定日期 (+) 或之后或指定日期 (-) 或之前的文件。或者,选择上次修改日期为当前日期“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日起每周日0:00举行。
▶ 最后,从[操作]选项卡中选择您创建的程序文件。
如果设置为Yoshina,就再也不用担心PC容量了,从4月份开始就一定可以使用了!不要回顾过去,努力吧,新的成年人!
~完成~