You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可通过Task Scheduler执行的PowerShell脚本:删除180天前日志文件

修复日志清理脚本&任务计划配置指南

原脚本的问题

  • $Daysback = "-180" 是字符串格式,但AddDays()方法需要整数参数,类型不匹配会导致删除日期计算错误
  • 任务计划程序执行PowerShell脚本时,若参数、权限配置不当,也会导致脚本无法正常运行

修正后的脚本

# 指定日志文件夹路径
$Path = "C:\Users\akshay.tanpure\Music\logs"
# 设置保留最近180天的日志,更早的将被删除
$DaysToKeep = 180
$DateToDelete = (Get-Date).AddDays(-$DaysToKeep)

# 递归查找所有.log文件,删除180天以前的文件
Get-ChildItem -Path $Path -Recurse -Filter "*.log" -File | 
    Where-Object { $_.LastWriteTime -lt $DateToDelete } | 
    Remove-Item -Force -ErrorAction SilentlyContinue

任务计划程序配置要点

  • 新建任务:
    • 常规选项卡:勾选「不管用户是否登录都要运行」,若删除文件需要更高权限,同时勾选「使用最高权限运行」
  • 触发器:设置脚本执行的时间规则,比如每天凌晨2点自动执行
  • 操作:
    • 操作类型选择「启动程序」
    • 程序/脚本输入:powershell.exe
    • 添加参数:-ExecutionPolicy Bypass -File "C:\你的脚本存放路径\CleanLogs.ps1"(替换为实际的脚本文件路径)
  • 设置选项卡:勾选「允许按需运行」「错过计划的启动时立即运行」,其余选项可根据需求调整

额外注意事项

  • 先手动运行脚本,确认能正常删除目标文件后再配置任务计划
  • 确保任务计划使用的账户对日志文件夹拥有读取、删除权限
  • 脚本中添加的-ErrorAction SilentlyContinue可避免因单个文件删除失败导致整个脚本终止;若需要记录错误信息,可改为-ErrorAction Stop并添加try-catch块实现错误日志记录

内容的提问来源于stack exchange,提问作者Akshay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:43:17