1. 垃圾文件从哪里来?先弄清 AD 在磁盘上堆了哪些东西
很多人用 Altium Designer 做原理图和 PCB,做到项目后期最怕的不是改版,而是打开工程文件夹一看,满屏都是“Backup of 原理图.SchDoc”“Project Outputs for...”“History”“History”,一个 20MB 的工程实际目录膨胀到几百 MB。你以为是源文件占空间,其实绝大多数都是 Altium Designer 在工作过程中产生的中间产物、自动备份和本地历史快照。
想安全清理垃圾文件,第一件事不是急着删,而是先搞清楚工程目录里每种文件是干什么用的。Altium Designer 的文件体系大致可以分成三层:源文件、自动生成文件、用户缓存文件。源文件就是你亲手画的 .SchDoc、.PcbDoc、.SchLib、.PcbLib 和 .PrjPcb 工程文件;自动生成文件是 AD 根据源文件“算”出来的中间产物,比如备份文件、历史快照、网表、生成报告;用户缓存文件则散落在系统目录里,是 AD 为了加速启动、缓存元件库和界面状态写进去的东西。
1.1 工程目录里最常见的“显性垃圾”
批量做硬件项目的人,对这几类东西应该都眼熟:
Backup of 原理图.SchDoc、Backup of PCB1.PcbDoc:AD 在开启自动保存选项后,每次保存前会把当前文档复制一份以“Backup of + 原文件名”的方式放在同一目录。改版次数一多,这种备份文件能堆成几十个。History或__History__目录:这是 AD 本地历史记录机制在工作。每次文档发生编辑并保存时,AD 会把旧版本压缩成 zip 文件放到这里,供你在 History 面板里回溯。目录里经常是一串带时间戳的文件名_时间戳.zip。Project Outputs for 工程名:这是默认输出目录。Gerber 文件、钻孔文件、PDF、BOM、坐标文件、装配图,全都往这里堆。很多人不做清理,这些文件其实是可以通过 OutJob 重新生成的。.PrjPcbStructure、__Nets__、Simulation之类的临时辅助文件:某些版本在编译工程或执行仿真时会产生,平时根本不会直接打开。
网上搜索排名靠前的“AD20 中 PCB 板铜皮挖空”“AD 导入 Gerber 转 PCB”这类问题,本质上也绕不开这些生成文件。例如导入 Gerber 时,AD 会为 CAM 文件生成独立的.Cam文件,同时保留一整套加载过的光绘、钻孔缓存;这些临时数据你不主动清理,就会一直放在%TEMP%或工程目录里。
1.2 藏在系统目录里的“隐性垃圾”
比工程目录更脏的是 AD 的用户数据目录。Windows 下主要是这几个位置:
| 路径 | 内容 | 特征 |
|---|---|---|
%APPDATA%\Altium\Altium Designer {版本号}\ | 元件库缓存、面板布局、偏好设置、许可信息 | 目录名通常是版本号,看起来像配置,但里面大量是重建缓存 |
%LOCALAPPDATA%\Temp\ | AD 运行期的临时文件、文件锁、崩溃转储 | 文件名常带Altium或~MD前缀 |
%PUBLIC%\Documents\Altium\ | 部分共享库、模板、示例工程 | 看情况可清理,但保存的模板删了损失较大 |
%APPDATA%\Altium\Altium Designer {版本号}\Cache | 元件库符号与封装的缩略图、库加载缓存 | 占地最多,删除后下次打开软件会自动重建 |
很多被“C 盘垃圾文件清理”折腾过的朋友会发现,明明没在 C 盘装 Altium Designer,C 盘空间却在流失。原因就是这些缓存路径默认全部指向系统盘。特别是有大量自定义原理图符号库和 PCB 封装库的人,库缓存动辄几个 GB。
1.3 “垃圾”的定义必须结合使用习惯
我在实际处理项目时发现一个规律:同样一堆文件,在不同人眼里价值完全不同。比如History目录,对把项目纳入 Git 版本库管理的团队来说,它就是纯冗余,可以直接忽略;但对个人开发者、外包硬件工程师来说,本地历史是“后悔药”,客户改口要回上一版方案时,History 面板一翻就能找回来。
所以清理之前,你必须先问自己一个问题:项目的版本回溯手段是什么?如果答案是没有版本管理、也没有固定备份,那我建议你保留最近一次或两次的Backup of文件和History目录,其余再清理。别把“可恢复性”也当成垃圾一起删掉。
2. 手动清理实操:工程目录、系统缓存与 AD 偏好设置
手动清理是最稳妥的方式,适合第一次操作、还没把握用脚本的人。整个过程分四个部分,按顺序做,不用慌。
2.1 清理前的准备工作:关闭 AD 并打一个总备份
在动任何文件之前,先把 Altium Designer 完全退出,包括后台的DXP.EXE进程和托盘图标。如果你开着 AD 去删工程文件,会碰到两个问题:有些文件被占用删不掉,有些文件正在被 AD 写回,你删完它又重新生成,等于白干。
然后建议把整个工程目录压缩一个 zip 包,放到工程文件夹之外的磁盘上,比如放到 D 盘_Backup目录。这一步看起来多余,但实际价值极大。网上很多人下载了“官方垃圾清理脚本”一顿操作,结果把当前正在用的.PcbDoc里的关键图层文件删了,最后还得靠当时随手打的压缩包救回来。我后来养成一个习惯:所有清理动作执行前必须有一个全量快照,压缩一次最多几分钟,但能避免灾难性后果。
2.2 工程目录精简:按文件类型逐个处理
工程目录的清理原则是:源文件保留,自动生成文件选择性保留,纯临时文件删除。按着这个原则走就不会出大问题。
先处理Backup of*文件。在资源管理器的搜索框输入Backup of*,把工程下所有文件列出来。如果你当天已经确认当前版本能正常编译、能正常出 Gerber,那么保留最近一份即可,其余全部删除。如果是关键节点(比如即将提交打样),我会把最近一份备份也保留着,等打样回来确认没问题再清。
然后是History和__History__目录。这里要区分两种情况:如果你的工程目录已经纳入 SVN 或 Git 管理,那么这个目录可以直接删,版本库里有更完整的提交记录;如果是个人项目,建议保留最近一周的压缩快照,只在文件数太多时手动清理。一位做车载电子硬件的朋友曾和我说,他有一次删了History目录,结果第二天客户要求对比三周前的原理图变更点,只能靠当时的印象一点点重画,非常被动。
Project Outputs for*目录的处理我比较谨慎。Gerber、钻孔文件、坐标文件这些是投板必需的交付物,虽然可以由源 PCB 重新生成,但重新生成时你所使用的导出配置、板材参数、不同版本 AD 之间的差异,都可能导致结果略有不同。所以拿到板厂确认邮件、确认首板功能没问题之前,我不会清这个目录。真正要优先清的是里面的临时生成物,比如自动生成的 PDF 预览版、测试用的网络表、某些仿真缓存。
顺手把工程目录下这些常见文件也一并清掉:
*.PrjPcbStructure:工程结构缓存,重新编译会再生成。- 以
~$开头的临时文件:Office 风格的锁文件,AD 有时也会产生。 Simulation Result或Simulation子目录下的波形缓存:除非你还打算复用同一份仿真数据。- 各种
.log日志文件:AD 在编译或导入导出时生成的纯文本日志,对普通使用者没有保留价值。
2.3 用户目录缓存清理:给 C 盘“减负”
系统用户目录里积压的垃圾,依靠“我的文档”和“回收站”是找不到的,必须手动进入%APPDATA%路径。
在 Windows 搜索框或 Win+R 运行窗口输入%APPDATA%\Altium\,回车后能看到一列版本号命名的文件夹,比如Altium Designer 64CBE2、Altium Designer 8F2C4A这些。不同版本命名规则不完全一样,但都以版本代号形式存在。
进入你当前使用的版本目录后,重点看这几个子目录:
Cache:元件库缓存、符号缩略图缓存,体积最大,删除后 AD 会在下次打开库时重新构建。清掉完全不影响工程源文件。Recent:最近打开的工程和文档记录。这是纯历史记录,删了只是列表清空。Drafts:某些版本存放临时草稿文档的位置,多数人用完根本不会再看。Favorites:这个是用来记录你在软件内收藏的页面和片段的,别乱动,删了收藏面板会空掉。Templates:自定义模板目录,如果你在里面放过公司统一标题栏模板,这个目录绝对不能当垃圾清理。
缓存目录下面还时不时的会有以长串数字和字母命名的临时文件夹,这些通常是安装更新或库编译时产生的散落数据。你可以先看看文件夹修改时间,如果超过三个月没动过,基本可以删除。
%LOCALAPPDATA%\Temp里也值得翻一下。在文件资源管理器地址栏输入%LOCALAPPDATA%\Temp,搜索Altium。AD 有时运行久了会留下大量以 Altium 命名的临时文件,有些是仿真中间数据,有些是导入导出时的临时转换文件。这些文件除了占用空间没有任何实际用途,删除后不影响任何工程。可以把整个搜索结果全选删除,遇到正在占用的文件就跳过。
2.4 在 AD 内部调整保存策略,防止垃圾文件“复生”
清理完外部文件后,如果不调整 AD 自身的保存策略,过两天垃圾会重新堆回来。打开 AD,进入 Preferences(在 DXP 菜单下或右上角齿轮图标进入),重点调整这几项。
自动保存的设置位置在不同 AD 版本中略有差异,一般在System → Design Insight或Data Management相关区域。你可以直接按快捷键在 Preferences 左上角的搜索框输入 “AutoSave” 定位。这里是控制 AD 每隔多少分钟自动保存一次、保留几个版本的地方。个人项目建议把自动保存周期从默认的 5 分钟改成 15 分钟,版本保留数从默认 5 个改为 2 个。改了之后 AD 堆Backup of*文件的速度会明显下降。
本地历史记录的保留策略一般在System → Design Insight或者Data Management → Design Repositories的对应选项里。你可以设置保留天数或保留版本数量。建议设为保留 7 天,因为 7 天内的历史记录覆盖了绝大多数“临时反悔”场景,再久远的历史交给版本库去管。
还有一个很关键的习惯:不要在工程目录里直接执行“另存为”生成一堆新文件。很多人喜欢把原理图 V1.SchDoc另存为原理图 V1.1.SchDoc,然后又另存为原理图 V2.SchDoc,一个目录里全是同一原理图的不同版本副本。这种做法是人为制造垃圾文件,和 AD 自动生成垃圾的原理完全不同——自动生成的可以清,你手动另存为的那些文件,清理时要逐个确认,非常浪费时间,而且极易误删正在用的版本。
3. 一键清理脚本与定时任务:把重复劳动自动化
手工清理做过一两次之后,你一定会产生一个念头:这东西能不能写个批处理自动化。可以,而且不复杂。但脚本设计有一个前提:只清理“可安全重新生成的文件”,绝不碰源文件。我分享一个自己在用的思路和脚本框架,你可以直接抄作业,也可以按自己习惯改。
3.1 脚本设计目标与安全边界
清理脚本的价值不在于“删得越多越好”,而在于“在保证安全的前提下减少人工操作”。我的脚本设计有三个硬性要求:
- 运行前在工程目录外生成一个时间戳标记的备份包,万一误删还能恢复。
- 只删除以明确规则命名的文件和目录,不允许匹配所有文件。
- 每次清理输出一个日志文件,记录删了哪些文件、释放了多少空间。
有了这三个边界,脚本再怎么跑也不会出大问题。下面这个批处理脚本是基于这些边界写的,你把它放在PrjPcb工程文件的同级目录运行即可。
3.2 面向 Altium Designer 工程的批处理清理脚本
@echo off setlocal enabledelayedexpansion chcp 65001 >nul title Altium Designer 工程垃圾文件清理 set "ROOT=%~dp0" set "LOG=%ROOT%cleanup_%date:~0,4%%date:~5,2%%date:~8,2%.log" echo ======================================== > "%LOG%" echo 清理时间:%date% %time% >> "%LOG%" echo 工程目录:%ROOT% >> "%LOG%" echo ======================================== >> "%LOG%" echo [1/4] 创建全量备份(排除已存在的旧备份)... set "BACKUP_DIR=%ROOT%..\_pre_cleanup_%date:~0,4%%date:~5,2%%date:~8,2%" if exist "%BACKUP_DIR%" ( echo 备份目录已存在,跳过... ) else ( mkdir "%BACKUP_DIR%" powershell -Command "Get-ChildItem -Path '%ROOT%' -Recurse -Exclude 'cleanup_*.log','_pre_cleanup_*' | Where-Object { $_.FullName -notlike '*_pre_cleanup_*' } | Copy-Item -Destination '%BACKUP_DIR%' -Recurse -Force" >nul 2>&1 echo 备份完成:%BACKUP_DIR% >> "%LOG%" ) echo [2/4] 清理 Backup of 文件... for /r "%ROOT%" %%F in ("Backup of *.*") do ( del /q "%%F" >> "%LOG%" 2>&1 ) echo [3/4] 清理 History 与 __History__ 目录... for /d /r "%ROOT%" %%D in (__History__ History) do ( if exist "%%D" ( rd /s /q "%%D" >> "%LOG%" 2>&1 echo 已删除目录:%%D >> "%LOG%" ) ) echo [4/4] 清理 Project Outputs 目录中的 PDF 预览与日志... for /d /r "%ROOT%" %%D in ("Project Outputs for*") do ( if exist "%%D" ( del /q "%%D\*.pdf" >> "%LOG%" 2>&1 del /q "%%D\*.log" >> "%LOG%" 2>&1 ) ) echo 清理完成,详情见 %LOG% pause注意,这个脚本是有意保守的——它没有删除Project Outputs整目录,只删了 PDF 和日志。原因就是我前面说的,Gerber、钻孔、坐标文件都应该保留到板子确认无问题再删除。如果你要更激进地清理整个 Outputs 目录,就把第 4 步的del /q "%%D\*.pdf"改成rd /s /q "%%D",但前提是你已经把所有投板文件归档到别的路径了。
3.3 注册 Windows 计划任务实现定期清理
如果项目多、工程目录分散,手工双击脚本还是很累。这时候可以注册一个 Windows 计划任务,让它每周五下班后自动执行一次。
打开“任务计划程序”,创建基本任务,名称填“AD Project Cleanup”。触发器选择“每周”,勾选“周五”和“周日”。操作选择“启动程序”,程序填cmd.exe,参数填/c "C:\Scripts\ad_cleanup.bat"。在“条件”标签页里,把“只有在计算机使用交流电源时才启动此任务”的勾选去掉,避免笔记本电源模式导致任务不执行。
如果你希望脚本清理完自动关闭窗口而不是等待输入,就把脚本末尾的pause去掉。这个操作要小心,脚本一旦全自动运行,误删后的发现时间会滞后,所以我的建议是:保留pause,周五下班前你看到弹窗,手动按一下回车,也算是对“备份是否成功”做一次人工确认。
4. “删垃圾”与“可恢复性”之间的平衡:误删教训与边界判断
这一节可能是整篇里最值得读的部分。我在清理 Altium Designer 工程时踩过坑,而且不是一次。很多教程只教你怎么删,不告诉你哪些文件删了之后会睡不着觉。这里我把真实遇到的情况整理出来,希望能帮你绕开。
4.1 AD 历史面板的工作原理:History 目录到底是什么
AD 的 History 面板能显示一个文档被修改过的历史版本,并在需要时恢复。它的实现机制是:在工程目录下建一个History文件夹(有时也叫__History__),每当文档修改并保存时,AD 把当前版本的文档压缩成 zip 存入该目录,文件名带时间戳,比如原理图.SchDoc_20250101_1455.zip。
这也意味着,History目录不是随意残留的垃圾,而是一个提供“本地版本回溯”能力的数据仓库。你把它清空,AD 的 History 面板就会变成空白历史。对没有版本库管理习惯的工程师来说,这等于删掉了未来可能用到的后悔药。
所以我的操作原则调整为:如果有 SVN/Git,History目录随便清;如果没有,直接删掉整个History目录是冒险行为。更好的做法是进入该目录,清理一个月之前的 zip 文件,保留最近一个月,这样既控制了体积,又保留了近期回溯能力。
4.2 一次让我长记性的误删经历
前年做一个反激式开关电源的板子,原理图从初版改到第七版,各版本之间差异很大。当时客户突然提出要和三周前的某个版本做对比评审,我翻了工程目录,发现History目录已经被我当作“垃圾”清理掉了,AD 的 History 面板里什么都没有。最终只能靠微信聊天记录里的截图和零散 PDF 去回忆,浪费了两天时间。
那次之后我给所有涉及 AD 项目都定了一个铁规矩:清理动作分为“温和清理”和“激进清理”两档。温和清理每两周做一次,只删Backup of文件和%TEMP%里的 AD 临时文件;激进清理只在项目结项评审后做,并且先打全量压缩包再删History。对多数开发者来说,温和清理已经能解决 90% 的目录膨胀问题,激进清理更多是解压后长期归档前的必要步骤。
4.3 千万不要当垃圾删掉的几类文件
日常清理时容易被误删的文件,我列了一个清单,你可以直接参考:
- 与当前工程同名的
.PrjPcb文件:这是工程入口,删了整个项目就打不开。 .SchLib和.PcbLib自定义库:尤其是有大量自建封装、没有上传云端的主库文件。Outputs文件夹里的最终版本 Gerber 和钻孔文件:这是你花钱打样的依据,板厂也是按这组文件生产的。*.OutJob文件:这是工程输出任务配置,里面保存了你所有输出设置,删了之后每次都要重新配置。.Cam文件:如果你导入过 Gerber 做检查,AD 会生成 CAM 文件,这类文件在后续回看时挺有用,建议保留。- 板厂回传后的
*.RUL等工艺规则文件:这些不是 AD 自动生成的垃圾,而是和板厂技术沟通的结果沉淀。
有一个粗颗粒度的判断规则:凡是能通过 AD 菜单重新生成且参数不受影响的,如 PDF、文本日志、网表,才是合格的清理对象。凡是包含你手动配置信息、参数调整结果、封装定义的内容,哪怕文件后缀长得像临时文件,也不要随便清。
5. 从源头减少垃圾:版本控制与工程目录规划
治标更要治本。清理垃圾文件做得再勤快,也不如让垃圾本来就不产生。如果你还在用“复制一份工程目录改后缀”的方式管理版本,那 Altium Designer 的备份和历史机制会一直给你制造大量冗余。换个管理方式,你会发现清理压力小得多。
5.1 把工程纳入 Git 或 SVN 托管
Altium Designer 自带版本控制接口,支持 SVN 和 Git。你可以把整个工程放入 Git 仓库,每次提交对应一个可回滚的版本。这样,AD 的Backup of文件、本地History目录存在的意义就大幅降低,因为这些版本回溯能力版本控制已经完全覆盖,而且比 AD 自带的强得多。
工程放入 Git 后,要配合一份.gitignore文件,防止垃圾文件被提交到仓库。我这里有一份整理过的模板:
# Altium Designer 工程过滤规则 Backup of * History/ __History__/ Project Outputs for*/ *.PrjPcbStructure *.log *.bak PcbDataBase/ Outputs/* !Outputs/README.md提交时的策略是:只提交源文件(.PrjPcb、.SchDoc、.PcbDoc、.SchLib、.PcbLib、.OutJob),所有自动生成文件和输出文件都不入库。这样做的好处有两个:仓库体积小、版本对比干净;同时后期代码审查或配合别人的时候,不会因为大量生成文件干扰判断。
5.2 用 OutJob 把生成物隔离到独立目录
Altium Designer 里的 OutJob 是专门管输出的工具。打开工程后,右键工程文件,选择“添加新的 Output Job 到工程”,在里面配置 Gerber、钻孔、PDF、BOM 等输出项,指定输出目录。推荐统一输出到一个固定目录,比如.\03_Release\%date%或.\Release\v1.2。
这种做法的核心价值是:生成物从源文件里被“物理隔离”出来。平时你在工程文件夹里看到的只有源文件加少量备份,极大多数垃圾都被送到了独立目录。清理时只需要针对 Release 目录做归档或删除,不会被误删风险影响。
5.3 推荐一个三层工程目录结构
单个项目的目录建议按下述结构组织,亲测对“垃圾文件识别”非常有帮助:
MyProject/ ├── 00_Design_Docs # 需求文档、规格书、元件选型资料,不涉及 AD 文件 ├── 01_Source # AD 源工程,存放 .PrjPcb、.SchDoc、.PcbDoc、.SchLib、.PcbLib │ └── MyProject.PrjPcb ├── 02_Reference # 参考设计、原厂方案压缩包、数据手册 └── 03_Release # OutJob 输出的 Gerber、PDF、BOM、坐标文件,按版本分子目录 └── v1.2 ├── Gerber ├── PDF └── BOM这样规划之后,01_Source目录里的生成物很少,清理任务变得非常轻松。很多人到这一步觉得“这就够了吧”,但对于大量处理原厂方案包的人,问题还没完全解决。
5.4 解压原厂方案包时的“二次污染”处理
在搜索热词里你会看到“SW6206 原厂方案(包含 PCB、原理图、寄存器列表、BOM 等全套资料).rar”这类文件。做方案整合的人每天会解压很多这种压缩包,其中包含的原理图和 PCB,既可能是 Altium 版本,也可能是 PADS、Cadence、Eagle 甚至 PDF 里的截图。解压后目录里常常混着几十种格式的文件,其中不少是原厂放进去的过程文件。
处理这类压缩包,我建议按“资料分级”来解压,而不是直接右键“全部解压”。先在压缩包里浏览文件夹结构,只提取你真正需要的原理图、PCB、芯片手册和 BOM,其余文件可以不解压。这样做的直接好处是,原厂资料包里的大量重复文件、日志、旧版本文件不会再次扩散到你的工作目录里。
如果你已经解压了,清理时要把“不同 EDA 工具生成的转换中间文件”和“AD 直接生成的垃圾”区分开。PADS 的.asc、Cadence 的.dsn,这些是跨工具转换时产生的中间格式,不一定能重新生成;AD 的Backup of和History则属于可再生垃圾。对前者要慎重,对后者可以放心清理。
6. 不同项目场景下的清理节奏:从 AD20 到多层板实践
最后结合一些常见的实际项目场景,说说清理节奏怎么定。不同项目类型,垃圾文件产生速度和量级差别很大,用一套固定节奏解决所有问题并不现实。
6.1 数字类项目:DDR4 原理图和 PCB 的大缓存问题
做 DDR4 这类高速数字板时,原理图往往非常复杂,一张图纸上几十个 DDR 颗粒,库文件频繁调用。这种情况下,AD 的库缓存会快速增长,%APPDATA%下的缓存体积有时能在一个月内从几百 MB 涨到 2GB。而这种项目的原理图和 PCB 通常每一版都要走仿真验证流程,仿真缓存文件甚至会写到工程目录里。
对这种场景,我的建议是每月做一次“缓存级清理”,动作比较简单:关闭 AD,清空%APPDATA%下版本目录里的Cache文件夹,删除%TEMP%中以 Altium 开头的临时文件。缓存清理后首次打开工程会稍微慢一些,因为 AD 要重建库缓存,但之后使用体验没有差别。
6.2 电源类项目:反激电源、充放电方案的存档清理
反激式开关电源、移动电源方案这类模拟功率项目,原理图通常不大,但会频繁调整变压器参数、MOS 管选型和环路补偿,PCB 上的铺铜和开窗区域经常变动。这类项目的Backup of文件基本每次都产生,但最占空间的其实是 OutJob 输出的仿真报告和调试记录。
处理时,原则是“源文件全留,保留最后一个完整输出包,删除历史输出包”。比如项目最终以 v3.2 版本投板,那么Outputs里 v1.0、v2.0、v3.0 等旧版本的生成文件就可以归档压缩,只保留 v3.2 目录作为交付状态。这个操作放到很多硬件工程师面前,他们都会心动一下,因为一个版本输出目录动辄一两百兆。
6.3 解压第三方方案后的“临时工程”清理
很多时候,你解压一个第三方方案包,只是为了查看某个模块的参考设计,看完之后并不需要保留完整的可编辑工程。这时候直接在解压目录里打开.PrjPcb浏览,比把它复制到自己的工作目录更省事。但如果已经复制到工作目录了,看完之后马上把“只用于参考”的工程目录挪到一个_archive文件夹下,不要让它在正常项目列表里继续占位置。
这类参考工程的清理要点是:除了主库文件,其他基本都可以作为“可重建内容”删除。很多人保留参考工程,其实是担心之后还要再看。解决方法是把原理图导出成 PDF,把 PCB 关键层截图归档,保留文档比保留整个工程省 90% 空间,而且查看速度更快。
6.4 清理之后让工程保持“干净”的三个习惯
如果把清理工具和脚本比作“大扫除”,下面这几个习惯就是“随手收拾”,能让你的大扫除周期从两周延长到三个月。
第一,每次打开工程,先编译一次再保存,不要反复用“Ctrl+S”保存半成品。AD 的备份文件是基于“保存”动作触发的,保存频率越高,Backup 文件生成得越快。把保存习惯改成“改完一个完整功能点再保存”,总量会少很多。
第二,不要在工程目录里放临时参考图片、数据手册 PDF、调试笔记 txt。这些东西和 AD 源文件混在一起,会让“哪些需要备份”变得极难判断。最合理的做法是,所有非 EDA 资料放到上一级或平级的00_Design_Docs目录。
第三,每个项目结项时,专门花五分钟做一次“结项清理”:删除所有Backup of文件,清空History目录,把 Outputs 里确认无误的生成包压缩归档到网盘,然后把本地的Outputs目录清空或整个删除。这个动作做一次,之后几周内都不需要再碰清理脚本。
我个人在实际操作中的体会是,Altium Designer 的垃圾文件清理没有一劳永逸的方案,它更像是工程管理习惯的一部分。你维护得越勤,垃圾产生得越少;脚本和工具只是帮你在“已经失控”的时候快速回到干净状态。每次清完之后,顺手看一眼日志里删除了哪些文件,其实也是对工程结构的一次复查——很多连接错误、缺失文件的问题,往往就是在这个过程中被提前发现的。