GoodSync 文件过滤器——包含、排除与通配符语法
过滤器的工作逻辑
GoodSync 过滤器有两类规则,按以下顺序应用:
- 包含规则(Include):默认为空,意味着「包含所有文件」。如果设置了包含规则,只同步匹配包含规则的文件。
- 排除规则(Exclude):在包含规则的基础上,进一步排除匹配排除规则的文件。排除优先于包含——一个文件同时匹配包含和排除时,会被排除。
两个规则都是可选的。使用建议:
- 大多数场景:不设置包含规则(默认全部),只设置排除规则来排除不需要的文件
- 明确只需要同步特定类型时:设置包含规则缩小范围,排除规则处理边缘情况
通配符语法
GoodSync 过滤器支持标准通配符,配合 / 作为路径分隔符:
| 通配符 | 含义 | 示例 |
|---|---|---|
* | 匹配任意长度的任意字符(不含 /) | *.tmp 匹配所有 .tmp 文件 |
? | 匹配任意单个字符 | report-?.pdf 匹配 report-1.pdf、report-A.pdf |
[abc] | 匹配括号内任意一个字符 | [abc].txt 匹配 a.txt、b.txt、c.txt |
[a-z] | 匹配字符范围内任意一个 | [0-9][0-9].jpg 匹配 00.jpg 到 99.jpg |
/ | 路径分隔符(注意 Windows 下也用 /,不是 \) | temp/* 匹配 temp 文件夹下的内容 |
path / | 精确匹配文件夹路径 | path /Users/temp/ 匹配这个文件夹 |
\ | 转义符,用于匹配字面的 *、?、[ | \*star\*.txt 匹配包含星号的文件名 |
重要:路径分隔符必须是正斜杠
/,即使在 Windows 上也是如此。不要用反斜杠\作为路径分隔符(反斜杠在 GoodSync 中是转义符)。
实用排除规则速查
以下是常用的排除规则模板,可以直接复制使用:
排除临时文件和缓存
*.tmp
*.temp
*.bak
*.old
*~
.~lock.*
Thumbs.db
.DS_Store
排除开发工具和编辑器的项目文件
/.git/
/.svn/
/.hg/
.idea/
.vscode/
*.sln
*.csproj
*.user
.project
.classpath
排除系统文件和回收站
/$RECYCLE.BIN/
/System Volume Information/
*.lnk
desktop.ini
排除大型媒体文件(如果不需要同步)
# 排除视频文件
*.mp4
*.mkv
*.avi
*.mov
*.wmv
# 排除磁盘镜像
*.iso
*.vmdk
*.vdi
在 GoodSync 界面中配置过滤器
GoodSync 提供两种方式设置过滤器:
方式一:作业 Options 中的 Filter 面板(推荐)
- 打开作业 → 切换到「Options」→ 「Filter」标签
- 在「Include All of」区域输入包含规则(每行一条,留空表示全部包含)
- 在「Exclude All after Include」区域输入排除规则(每行一条)
- 勾选「Exclude empty folders」可选(排除空文件夹,默认不排除)

方式二:从分析结果树中右键排除
分析完成后,在结果树上右键点击某个文件或文件夹,GoodSync 会弹出快捷菜单:
- Exclude '/folder/file.txt' File / Folder:按精确路径排除
- Exclude by Name 'file.txt':按文件名排除(所有同名文件都会被排除)
- **Exclude by Extension '*.txt'**:按扩展名排除
这是最快的方式——分析出意外的文件时,直接右键排除比手动写通配符更高效。
过滤器测试
GoodSync 在分析时会实时应用过滤器,但有时复杂的通配符难以目测效果。建议:
- 配置完过滤器后,先点一次「Analyze」
- 检查分析结果树中是否还出现了应该被排除的文件
- 如果有,说明通配符写法有问题,回到过滤器面板调整
- 可以临时清空排除规则重新分析对比,确认过滤器确实生效
高级:过滤器的作用范围
GoodSync 过滤器默认同时作用于文件名和目录名。如果只想按文件名排除、不排除同名的目录,或者反过来,需要在规则中明确使用 path / 前缀来限定匹配路径层级。
大多数常规场景下不需要深入到这个级别,简单的 *.tmp、/.git/ 这类规则已经能覆盖 95% 的需求。