忽略文件

如果有些文件不想与其他设备同步,则可以将其添加到忽略文件列表里,忽略文件存储在每个任务目录下的 .verysync/IgnoreList中,每行一个规则。 可以直接用普通文本编辑器修改该文件,也可以在界面目录选项里的忽略列表编辑器中进行修改。 忽略文件的修改仅在本机生效,并不会同步到其它设备上。

如果目录中包含忽略的文件,这将会阻止目录被删除,可以在规则前面添加(?d)标识,以允许删除。

忽略规则语法说明

忽略文件列表包含文件或路径模式列表。 第一个匹配的模式将决定给定文件的处理方式。 规则的编写规则类似于正则表达式。但进行了简化。

普通文件名匹配规则,如规则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

#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))

规则例子

假如目录结构如下

.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 # 忽略,父目录已忽略

results matching ""

    No results matching ""