WizTree不支持自动双扫描比对,但可通过四种方式识别磁盘空间变化:一、导出CSV用Excel比对;二、手动备份并分析.wtc缓存文件;三、命令行定时导出带时间戳的CSV后脚本处理;四、用SQLite等工具执行结构化SQL比对。

如果您已完成两次WizTree扫描并希望识别磁盘空间使用的变化,则可能是由于单次扫描无法反映时间维度上的增减趋势。WizTree本身不内置双扫描自动比对功能,但可通过导出CSV结果后进行外部比对,或利用其缓存机制实现差异识别。以下是实现前后扫描结果变化对比的多种可行方式:
一、导出CSV后使用Excel进行差异比对
该方法基于结构化数据比对,适用于需精确识别新增、删除、大小变更文件的场景,尤其适合审计、迁移前后的容量验证等任务。导出的CSV包含完整路径、大小、修改时间等字段,支持排序、筛选与公式计算。
1、对第一次扫描结果执行导出:点击“文件”→“Export to CSV…”,保存为scan_before.csv。
2、执行第二次扫描(建议间隔合理时间,避免临时文件干扰),同样导出为scan_after.csv。
3、在Excel中分别导入两个CSV文件,将两表置于同一工作簿的不同Sheet中。
4、在新Sheet中使用VLOOKUP或XLOOKUP函数匹配路径列,添加“大小变化”列:=IFERROR(VLOOKUP(A2,Sheet2!A:C,3,FALSE)-B2,0)。
5、按该列排序,正数表示增长,负数表示减少,零值表示未变,空白表示新增或消失。
二、利用WizTree缓存文件手动比对
WizTree在扫描时会自动生成缓存文件(.wtc格式),存储于软件同目录或%LOCALAPPDATA%\WizTree\Cache下。同一驱动器的多次扫描若未清除缓存,可能复用部分元数据。通过提取缓存中的时间戳与大小快照,可辅助判断变化范围。
1、完成首次扫描后,在WizTree安装目录中查找以驱动器名命名的C.wtc(或对应盘符)文件,复制备份为C_before.wtc。
2、执行第二次扫描,待完成后再复制当前C.wtc为C_after.wtc。
3、使用十六进制编辑器(如HxD)打开两个.wtc文件,定位偏移量0x100处的8字节时间戳(FILETIME格式),确认扫描时间是否有效更新。
4、观察文件头后紧邻的4字节整数(代表总文件数)及8字节整数(代表总字节数),粗略判断数量与容量级是否发生显著变动。
三、命令行触发两次扫描并生成带时间标记的CSV
该方式适用于需周期性执行比对的运维场景,通过脚本控制扫描时机与文件命名,规避人工操作误差,确保时间戳唯一性和路径可追溯性。
1、以管理员身份打开命令提示符,执行首次扫描导出:WizTree.exe /export:"C:\Reports\scan_20260501_1000.csv" /drive:C:。
2、等待指定间隔(如24小时)后,再次执行:WizTree.exe /export:"C:\Reports\scan_20260502_1000.csv" /drive:C:。
3、确保两次导出路径一致、文件名含明确日期时间,便于后续脚本批量读取。
4、编写PowerShell脚本,读取两个CSV,以Full Path为键合并,计算Size差值并输出变化清单至delta_report.csv。
四、使用第三方工具加载两个CSV执行结构化比对
对于超大规模扫描结果(百万级以上文件),Excel可能响应迟缓。此时可借助轻量级数据库工具或专用比对软件,提升处理效率与稳定性。
1、下载并安装SQLite Browser,新建数据库wiztree_diff.db。
2、在SQLite Browser中依次导入scan_before.csv与scan_after.csv为两张表,表名分别为before和after,均设主键为FullPath。
3、执行SQL查询:SELECT a.FullPath, a.Size AS BeforeSize, b.Size AS AfterSize, (b.Size - a.Size) AS Delta FROM before a FULL OUTER JOIN after b ON a.FullPath = b.FullPath WHERE a.Size IS NULL OR b.Size IS NULL OR (b.Size - a.Size) != 0;
4、将查询结果导出为CSV,即得完整变化记录,含新增、删除及大小变更项。












