智能文件夹进阶规则组合
智能文件夹是 Eagle 里最被低估的功能。它不存文件,只是一个按条件实时计算的视图——文件进出完全由条件说了算。这一篇讲怎么用它搭建真正有用的检索层。
为什么智能文件夹比标签强
一个标签只能表达“它是什么”,不能表达”它满足这一组条件“。
比如“所有未交付的 5 星参考”——这需要同时判断标签、评分、文件夹归属三个维度。靠手动维护一个叫 待交付 的标签,你得在每次评分变化时手动改标签,早晚会不一致。
智能文件夹不需要维护。这是它最大的价值:条件是稳定的,成员是流动的。
一、先摸清有哪些条件可用
智能文件夹的可筛选属性比大多数人以为的多。Eagle 提供的能力包括:
| 类别 | 可筛条件 |
|---|---|
| 名称 | 名称包含、不等于、为空 |
| 格式 | 扩展名/类型 |
| 尺寸 | 宽度、高度、比例关系 |
| 标签 | 包含某标签、不含某标签 |
| 文件夹 | 属于/不属于某文件夹 |
| 评分 | 星级区间 |
| 颜色 | 主色调 |
| 导入时间 | 时间范围 |
| 注释 | 注释内容包含 |
| 状态 | 未分类、未打标签 |
建议的第一步:打开 Eagle 里的智能文件夹条件构建界面,把可用条件列表看一遍。 不同版本可用的条件可能不同,以你的实际界面为准。
二、单条件:先用它们做“卫生检查”
刚开始别急着做复杂组合。单条件智能文件夹的最大用途是暴露库里的问题。
检查未分类素材:
条件:未分类 用途:数量就是你的整理债务。这个数字每周看一次,它下降才说明整理在推进。
检查未打标签素材:
条件:未打标签 用途:这个数字应该长期趋近于 0。如果它在涨,说明收集节奏快于整理节奏,需要调整。
检查低价值素材:
条件:评分 ≤ 2 用途:定期清理的对象。或者反过来——检查“评分 ≤ 2 但从未被打过标签”的素材,这些可能是你当初忘了看的。
检查超长注释:
条件:注释不为空(配合文本长度判断) 用途:注释写得特别长的素材,往往是特别有价值的,值得优先整理。
检查超大文件:
条件:尺寸宽度 > 某个值 用途:大素材库的性能瓶颈往往来自少数超大文件。找出它们,考虑是否需要压缩或者移到专门的库。
这五个单条件智能文件夹建好,你的库就有了一个“体检面板”。
三、多条件 AND:缩小范围
AND 的语义是“同时满足”。这是最常用也最安全的组合方式。
实用的 AND 组合:
| 想要什么 | 条件组合 |
|---|---|
| 高价值但没整理的 | 未分类 AND 评分 ≥ 4 |
| 可以用作宽幅 banner 的 | 宽度 ≥ 某个值 AND 比例关系为横向 AND 格式为 png |
| 高分但缺注释的 | 评分 ≥ 4 AND 注释为空 |
| 某个项目里没打用途标签的 | 文件夹属于某项目 AND 未打标签 |
“高分但缺注释”这一条尤其值得建。 它精确指向了”你已经认为它有价值,但还没把它变成可复用知识“的那些素材——这是最值得花时间的一批。
四、多条件 OR:扩大范围
OR 的语义是“满足任一”。用来做同义合并。
几个例子:
| 想要什么 | 条件组合 |
|---|---|
| 所有动图素材 | 格式 = gif OR 格式 = webp(如果 webp 也存了动图) |
| 所有可作为参考的 | 包含标签 reference OR 包含标签 inspiration OR 评分 ≥ 4 |
| 各种“未完成”的 | 未分类 OR 未打标签 OR 注释为空 |
“各种未完成”这个组合特别有用,它把三种不同形态的”没整理完“合并成一个视图。你定期打开它一次,就能持续清债。
常见坑:OR 组合里如果混入了语义过宽的条件(比如“评分 ≥ 4”和”包含标签 reference“放一起),结果集会膨胀到失去意义。OR 的每个分支都应该足够具体,不然它只是把“几乎全部素材”重新命名了一遍。
五、排除条件:做减法往往比做加法有效
AND 和 OR 之外的第三种方式是排除。它解决的是“我知道要找什么,也知道不要什么”。
场景:你知道自己在找 UI 界面参考,但不想看到移动端和已交付的。
条件组 1(包含):标签包含 ui-design
条件组 2(排除):形状包含竖向比例(移动端长屏)OR 文件夹属于 已交付项目
排除的判断标准是:你要排除的那个东西,是一个明确的、你能识别出来的集合。 “竖向比例”是可识别的,”不好看的东西“不是。
一个反直觉的结论:排除条件往往比包含条件更省事。 因为你通常能明确说出“什么不该出现在这里”,却很难完整枚举”应该出现什么“。
六、嵌套组合:条件组套条件组
当单层 AND/OR 不够用时,可以把条件组本身作为一个整体参与外层的逻辑运算。
一个复杂例子:找出“所有评分高、且尚未被我彻底归档的素材”
外层:AND
├── 组 A(OR)
│ ├── 包含:未分类
│ └── 包含:未打标签
└── 组 B:评分 ≥ 4
这个视图的价值在于它把“两种不同的未完成状态”合并成一个判断,同时保留了价值门槛。
嵌套的实用场景主要有三类:
- 同组内 OR,组间 AND。 最常见的模式。比如“(标签是 A 或 B)且评分 ≥ 4”。
- 同组内 AND,组间 OR。 “(评分 ≥ 4 且未分类)或(含标签 urgent)”。
- 混入排除组。 把排除条件作为外层的一个分支。
常见坑:嵌套超过两层就该停下来。层数一多,你自己都记不清这个视图到底筛出了什么——那它的价值已经低于它的维护成本。一个你看不懂的智能文件夹,等于不存在。
七、给智能文件夹起好名字
命名规则:名字应该描述筛选意图,而不是描述内容。
- 差的:
集合 A、我的筛选、untitled - 好的:
未交付的高分参考、可做 banner 的宽幅图、高分但缺注释
理由很实在:你三个月后打开一个智能文件夹,如果名字没说清条件,你不会记得它筛的是什么。 而判断“这个视图还有用吗”需要先知道它筛的是什么。
八、用 API 批量生成智能文件夹
如果你有一套想固化的规则体系,手工一个个建会很慢。Eagle 4.0 Build 22 之后提供了完整的智能文件夹 API。
基本思路:先查询可用的规则 schema,再按 schema 构建条件。
// 先看有哪些规则可用
const rules = await eagle.smartFolder.getRules();
// 返回每个属性支持的比较方法、值类型、可选值等
// 再用构建器创建
const sf = await eagle.smartFolder.create({
name: '未交付的高分参考',
description: '评分 4 星以上且未分类',
iconColor: 'orange',
conditions: [
eagle.smartFolder.Condition.create('AND', [
eagle.smartFolder.rule('rating')['>=']([4]),
eagle.smartFolder.rule('name').empty()
])
]
});
批量生成的实际价值在于:它保证了你的规则体系是一致的。 如果你有七八个类似“待补注释””待归类“的视图,手工建的容易参数不一致,API 生成的则完全统一。
另外两个有用的信息:
sf.getItems()可以拿到这个智能文件夹当前匹配的条目,也能指定只返回需要的字段(比如只返回 id、name、ext)。sf.imageCount直接给出匹配数量,这个属性本身就是最好的“债务计数器”——不用打开界面就知道某个工作集里有多少东西。
常见坑:智能文件夹 API 需要 Eagle 4.0 Build 22 或更高版本。低版本上调用会失败。另外,条件里用到的属性名和比较方法必须来自
getRules()的返回——凭印象写property和method很可能无效,因为不同版本支持的规则集不完全一样。
九、三个最值得现在就建的智能文件夹
如果只建三个,选这三个:
- 整理债务:
未分类 OR 未打标签。每周打开一次,清一次。 - 高价值未转化:
评分 ≥ 4 AND 注释为空。这里是你知识库最缺的部分。 - 项目活跃区:按最近修改时间筛最近 N 天有改动的素材。帮你回顾“我最近在做什么”。
第一个帮你还债,第二个帮你积累,第三个帮你保持对库的掌控感。三个加起来,构成一个可持续的维护循环。
一个提醒:智能文件夹不能替代基础归类
智能文件夹再强大,也有一个前提:素材得先有可被筛选的属性。 一张零标签、零评分、注释为空、名字是 IMG_2381 的图,任何智能文件夹都筛不出它,因为它所有条件都恰好落在“未知”一侧。
所以正确的关系是:标签和评分为智能文件夹提供原料,智能文件夹把这些原料组合成你日常真正会看的视图。 两者是流水线上下游,不是替代关系。
先花半小时把一批存量素材的标签和评分补上,再回来搭智能文件夹,你会看到筛选结果立刻变得有意义。
整理人:WorkBuddy
