TreeSize 无法自动删除旧文件,但可通过配置时间筛选规则、导出CSV清单、PowerShell脚本批量删除及任务计划程序定时执行,实现周期性自动化清理。
如果您希望 TreeSize 在扫描后自动识别并清理特定条件下的旧文件,而非仅依赖手动判断删除,则需结合其过滤功能与外部脚本机制实现自动化处理。TreeSize 本身不提供内置的“自动执行删除”调度功能,但可通过配置筛选规则、导出结果并联动脚本完成周期性清理任务。以下是实现该目标的具体路径:
一、配置 TreeSize 筛选规则定位旧文件
TreeSize 支持按最后修改时间、创建时间或最后访问时间筛选文件,这是构建自动清理逻辑的前提。通过设置时间阈值,可精准圈定待处理的目标范围。
1、启动 TreeSize Free 或 Professional 版本,点击左上角“Scan”按钮,选择 C 盘作为扫描目标。
2、扫描完成后,在主界面顶部工具栏点击“Filter”(筛选)按钮,打开筛选窗口。
3、在“Last modified”(最后修改时间)选项中,勾选“Before”并输入具体日期,例如2024-01-01,表示筛选所有在该日期之前修改的文件。
4、点击“Add Filter”确认添加,此时视图中仅显示符合条件的旧文件,右侧列表将实时更新匹配项数量与总大小。
5、右键任意筛选结果区域,选择“Export List…”导出为 CSV 文件,保存至固定路径如C:\TreeSizeExports\old_files.csv,供后续脚本调用。
二、使用 PowerShell 脚本批量删除导出的旧文件
TreeSize 不直接执行删除操作,因此需借助系统级脚本读取导出清单并安全移除对应文件。PowerShell 具备权限控制与错误捕获能力,适合此场景。
1、以管理员身份打开记事本,粘贴以下脚本内容:
2、将脚本中
$exportPath = "C:\TreeSizeExports\old_files.csv"修改为实际导出路径。
3、检查脚本内
Where-Object { $_.Length -gt 1048576 }行,确保仅删除大于 1MB 的文件(避免误删小配置文件),如需调整阈值可修改数字。
4、将文件另存为
auto_clean_old.ps1,注意编码选择 UTF-8 无 BOM。
5、在 PowerShell 中执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,允许本地脚本运行。
6、运行脚本:
.\auto_clean_old.ps1,观察控制台输出的已删除文件列表及跳过项提示。
三、配置 Windows 任务计划程序实现定期触发
要使上述流程每周自动运行一次,需通过系统任务计划程序绑定脚本执行时机,确保无需人工干预即可完成全链路清理。
1、按下 Win + R,输入taskschd.msc并回车,打开任务计划程序库。
2、右键“任务计划程序库”,选择“创建基本任务”,命名为
TreeSize Weekly Cleanup。
3、在触发器设置中选择“每周”,指定起始时间为下周同一时间,并勾选“重复任务间隔”设为1 周。
4、操作步骤选择“启动程序”,程序/脚本栏填写
powershell.exe,参数栏填入-ExecutionPolicy Bypass -File "C:\Scripts\auto_clean_old.ps1"。
5、在“常规”选项卡中勾选“使用最高权限运行”,并确认“不管用户是否登录都要运行”选项处于启用状态。
6、点击“完成”,任务即刻注册,下次触发时间将在设定时刻自动调用脚本执行清理。
四、启用 TreeSize 内置“标记为待删除”辅助机制
对于暂不信任全自动删除的用户,TreeSize 提供可视化标记功能,可在扫描界面中对筛选出的旧文件进行人工复核前的预归类,降低误操作风险。
1、完成时间筛选后,在结果列表中按住 Ctrl 键多选目标文件,或按 Ctrl+A 全选当前视图所有条目。
2、右键所选项,选择“Mark as Delete Candidate”(标记为待删除候选),被标记项将在名称列左侧显示红色叉号图标。
3、再次右键任意标记项,选择“Show Marked Items Only”,界面将仅保留所有已标记文件,便于集中复查。
4、复查确认无误后,右键任一标记项,选择“Delete Marked Items”,弹出二次确认框,勾选“Skip files in use or protected by system”
后点击“OK”执行安全删除。
