FreeFileSync 一款开源的文件同步软件

FreeFileSync 用户手册:

用过滤规则排除文件(夹)

File exclude filter

只有符合条件的文件和文件夹才会被同步: 它们应该符合过滤对话框中的至少一条“包括”条件,而且不符合任何一条“排除”条件。
 
  • 每个过滤规则应该对应同步文件(夹)的路径。
  • 多个过滤规则可以使用 | 分割或者单独占一行。
  • 可以使用通配符:  
    * 代表 0到多个 字符
    ? 代表 只有1个 字符
    ?* 代表 1个到多个 字符
  • 匹配规则是 大小写敏感

示例: 文件夹匹配

以下规则作用在文件夹同步 C:\Source <—> D:\Target ,可以当做“包括”规则,也可以当做“排除”规则。
 
描述 规则例子
单个文件(夹) C:\Source\file.txt \file.txt
单个文件夹 C:\Source\SubFolder \SubFolder\
所有以这个名字命名的文件和文件夹 thumbs.db *\thumbs.db
所有以 Z 字符开头的文件和文件夹 *\z*
C:\Source\SubFolder文件夹中所有 .tmp 结尾的文件和文件夹 \SubFolder\*.tmp
路径中包含 temp 的文件和文件夹 *temp*
用竖杠分割的多个规则 *.tmp | *.doc | *.bak
所有 子文件夹 *\
子文件夹中的所有文件和文件夹 ?*\?*
仅所有文件 (不含文件夹) *:

示例: 包含例外的复杂匹配规则

可以使用两次同步来组合出复杂的匹配规则:两次同步使用相同的源文件夹和目标文件夹,第一次同步使用常规同步规则,第二次同步使用例外规则。
 
同步这个文件夹中的所有 txt 后缀的文件但是不同步其他任何文件:
C:\Source <—> D:\Target     源文件夹 排除 规则: \SubFolder\
C:\Source <—> D:\Target     源文件夹 包含 规则: \SubFolder\*.txt

示例: 排除空文件夹

用包含规则 *: 过滤所有的文件,不过滤文件夹。同步的时候,如果文件夹下有文件, 就创建该文件夹,这样就排除了所有的空文件夹。

备注
  • 对于简单的排除: 不需要你输入排除规则,只需要在 FreeFileSync 主窗口右键点击任意规则,就可以用下拉菜单选择规则。
  • 规则默认同时匹配文件夹和文件 。 可以设置只匹配文件或文件夹:
    1. 只匹配文件: 在规则末尾添加英文冒号 (:)
    2. 只匹配文件夹: 在规则末尾添加斜杠或者反斜杠 (/ 或者 \)
  • 如果规则匹配文件夹,那么这个文件夹下的所有文件和文件夹是默认包含的。 所以 SubFolder\SubFolder\* 是运行结果一样的规则。
  • 斜杠 (/) 和反斜杠 (\) 都可以做文件夹的分割符。