treesize支持命令行批量扫描与导出:professional版功能更全,free版仅限基础操作;可通过cli、powershell脚本、任务计划程序实现自动化扫描及csv/xml报告生成。

如果您希望绕过TreeSize图形界面,通过脚本方式批量扫描多个驱动器或路径并导出结果,则需借助TreeSize的命令行接口(CLI)功能。TreeSize Professional与TreeSize Free均支持命令行调用,但Free版仅限基础扫描与导出,Professional版支持更多参数与自动化逻辑。以下是实现批量扫描的多种方法:
一、使用TreeSize CLI执行单次驱动器扫描并导出CSV
TreeSize内置命令行工具TreeSize.exe(位于安装目录)可直接接受扫描路径、输出格式及排序参数,适用于定时任务或批处理集成。导出为CSV后便于Excel分析或PowerShell后续处理。
1、确认TreeSize安装路径,例如:C:\Program Files\Jam Software\TreeSize\TreeSize.exe;若使用Portable版,则定位到解压目录下的TreeSizeFree.exe。
2、以管理员身份打开命令提示符或PowerShell,执行以下命令扫描C盘并导出为CSV:
3、"C:\Program Files\Jam Software\TreeSize\TreeSize.exe" /export:C:\report_c.csv /sort:size /maxdepth:3 C:\
4、等待执行完成,检查C:\report_c.csv是否生成;该文件包含路径、大小、子项数等字段,首行为列标题。
5、如需静默运行不弹窗,添加参数/silent;如需仅扫描特定文件夹,将C:\替换为完整路径,例如D:\Projects。
二、编写PowerShell脚本批量扫描多个驱动器
通过PowerShell循环调用TreeSize CLI,可一次性对C:、D:、E:等所有本地固定磁盘发起扫描,并按驱动器名称自动命名导出文件,避免手动重复操作。
1、以管理员身份启动PowerShell。
2、执行以下脚本(请先确认TreeSize.exe路径已正确设置):
3、$treeSizePath = "C:\Program Files\Jam Software\TreeSize\TreeSize.exe"
4、$drives = Get-WmiObject Win32_Volume | Where-Object {$_.DriveType -eq 3 -and $_.Capacity -gt 0} | ForEach-Object {$_.DriveLetter}
5、foreach ($drive in $drives) { $outFile = "C:\TreeSizeScan_$($drive.Trim(':')).csv"; & $treeSizePath "/export:$outFile" "/sort:size" "/maxdepth:2" "$drive\" }
6、脚本运行结束后,检查C:\下是否生成多个形如TreeSizeScan_C.csv的文件,每个对应一个驱动器的扫描快照。
三、结合PowerShell解析TreeSize CSV结果并筛选Top 10大文件夹
TreeSize导出的CSV虽含结构化数据,但默认不含“大小(GB)”列;通过PowerShell导入并计算,可快速提取各驱动器中占用最高的10个文件夹,用于生成摘要报告。
1、确保已执行步骤二生成至少一个CSV文件,例如C:\TreeSizeScan_C.csv。
2、在PowerShell中运行以下命令:
3、$csv = Import-Csv "C:\TreeSizeScan_C.csv"
4、$top10 = $csv | Where-Object {$_.Size -match '^\d+\.?\d*\s*[KMGT]B$'} | ForEach-Object { [PSCustomObject]@{ Path = $_.Path; SizeMB = [math]::Round([double]($_.Size -replace '[^\d.]','') / 1MB, 2) } } | Sort-Object SizeMB -Descending | Select-Object -First 10
5、$top10 | Format-Table -AutoSize
6、输出将显示路径与对应大小(MB),例如C:\Users\Alice\AppData\Local\Temp占8420.33 MB。
四、配置Windows任务计划程序定时执行TreeSize扫描
将TreeSize CLI封装为.bat批处理文件,并通过系统任务计划程序设定每日凌晨自动运行,可实现无人值守的空间监控,适用于IT运维或长期设备管理场景。
1、新建文本文件,输入以下内容并保存为C:\Scripts\RunTreeSizeScan.bat:
2、@echo off
3、cd /d "C:\Program Files\Jam Software\TreeSize"
4、TreeSize.exe /export:C:\Reports\TreeSize_%date:~0,4%%date:~5,2%%date:~8,2%.csv /sort:size /maxdepth:3 C:\
5、右键“此电脑”→“管理”→“任务计划程序”→“创建基本任务”,命名为“Daily TreeSize Scan”。
6、设置触发器为“每天”,起始时间为02:00;操作选择“启动程序”,程序路径填写C:\Scripts\RunTreeSizeScan.bat。
7、在“常规”选项卡中勾选“使用最高权限运行”,点击完成。此后系统将在指定时间静默执行扫描并保存带日期的报告。
五、使用TreeSize Professional的XML导出与PowerShell深度分析
TreeSize Professional支持导出为XML格式,保留完整树状层级、时间戳与类型标识,适合构建自定义分析管道,例如识别7天内增长超500MB的文件夹或比对两次扫描差异。
1、确保已安装TreeSize Professional,并获取其CLI完整路径(通常为TreeSizePro.exe)。
2、执行导出命令生成XML:
3、"C:\Program Files\Jam Software\TreeSize\TreeSizePro.exe" /export:C:\scan_full.xml /format:xml /sort:size C:\
4、在PowerShell中加载XML并提取最近修改的大型文件夹:
5、$xml = [xml](Get-Content "C:\scan_full.xml")
6、$folders = $xml.TreeSize.Folder | Where-Object {$_.Size -gt 1GB} | Sort-Object LastModified -Descending | Select-Object Name,Size,LastModified -First 5
7、$folders | Format-List











