适用范围

  • 不同设备间的文件夹实时同步
    • 同设备的不同文件夹不能同步

缺点

2. 忽略列表:

忽略列表采用正则表达式 忽略列表中符合规则的都会被忽略,即不发送、不接受

每个设备的被同步文件夹根目录下都有一个忽略列表。 这个忽略列表不会被同步

由于忽略列表的特性,只要同步双方的设备中其中任意存在一个忽略对象,都会被不同步。即形成了设备差异性。

2.1. 语法:

1.2.1.1. 修饰符

(?i) 表示该规则忽略大小写 (?d) 表示被忽略的文件当上级目录删除时,允许被删除

1.2.1.2. 忽略规则语法说明

忽略文件列表包含文件或路径模式列表。 第一个匹配的模式将决定给定文件的处理方式。 规则的编写规则类似于正则表达式。但进行了简化。 普通文件名匹配规则,如规则foo, 将匹配名为foo的文件或目录,包括任意级别的子目录或文件。 空格被视为普通字符。 * 星号匹配文件名中的零个或多个字符,但不匹配目录分隔符。 规则te*st,匹配test,subdir/telerest, 但不匹配tele/rest** 双星号匹配如上,但也匹配目录分格符。 规则te**st,匹配test,subdir/telerest, 也匹配tele/rest, 和tele/sub/dir/rest? 问号匹配不是目录分隔符的单个字符。 te??st匹配tebest但不匹配teb/sttest[] 方括号[]中的字符被解释为字符范围[a-z]。 在使用此语法之前,您应该对正则表达式字符类有基本的了解。 / 以目录分隔符/开头的模式,表示绝对路径, 仅在同步根目录进行匹配。 / foo匹配foo但不匹配subdir/foo

指定文件夹下的文件: dir/foo, 只匹配dir下的foo

#include 以#include开头的模式会从指定文件加载模式。 文件不存在或包含多次是错误的。 请注意,被包函的文件可以存在于任何子目录中, 但规则描述方式,仍然是相对于文件夹根目录的。示例:#include myignore.txt!!开头的模式表示为否定模式:包含匹配文件(即不被忽略)。 (?i) 以 (?i) 前缀开头的模式表示该模式不区分大小写进行匹配。 如(?i)test将匹配TEST,tEst。 (?i)前缀可以与其他模式组合,例如(?i)!picture*.png表示Picture1.PNG应该同步。 在Mac OS和Windows上,模式始终不区分大小写。 (?d)(?d)前缀开头的模式允许删除这些文件,一般用于描述操作系统生成的临时文件,因为这些文件一般我们不希望它影响目录删除如群晖系统上(?d)@eadir. ////开头的模式为注释语法, 不会应用于文件匹配上。

可以按任何顺序指定前缀(例如(?d)(?i)),但不能在一对括号中同时指定多个模式如((?di))

1.2.1.3. 规则例子

假如目录结构如下

.DS_Store
foo
foofoo
bar/
baz
quux
quuz
bar2/
baz
frobble
My Pictures/
Img15.PNG

我们的忽略规则如下

(?d).DS_Store
!frobble
!quuz
foo
*2
qu*
(?i)my pictures

所有名为foo的文件和目录,以2结尾或以qu开头都将被忽略。 最终结果变为:

.DS_Store # 忽略, 该规则会阻止父目录删除。
foo # 忽略, 匹配规则foo
foofoo # 同步, 不匹配规则 "foo",如果有规则*foo或者foo*会匹配
bar/ # 同步
baz # 同步
quux # 忽略, 匹配规则 "qu*"
quuz # 同步, 匹配规则 "qu*" 但前面已定义"!quuz"
bar2/ # 忽略, 匹配规则 "*2"
baz # 忽略,父目录匹配*2规则, 父目录忽略 所以忽略
frobble # 忽略,父目录忽略 "!frobble" 不能起到作用。
My Pictures/ # 忽略,匹配不区分大小写规则
(?i)"my pictures"
Img15.PNG # 忽略,父目录已忽略

回收站

  1. 如果本地obsidian库文件夹没有被全删光的话,在.verysync中保存有有近10天(qql1自定义的)的被删文件版本.在微力同步网页端可以很方便的选择任意时间版本进行恢复