The "Program Options" menu allows you to view and edit the global options for GoodSync.
Overview of the Filters Section
It is important to note that this "Filters" section in "Preferences" is different from the "Job Options" "Filters" section. Filters applied from within Preferences are global and will be applied to all Jobs.
Include All of (empty by default)
If they are not empty, files and folders whose names match an inclusion filter - and do not match any exclusion filters - are included in synchronization.
Exclude All of
Files and folders that match an exclusion filter will be excluded from synchronization. You will see that there are a few default exclusions.
NOTE: Exclusions will take priority over inclusions.
At the bottom of the page, under Include and Exclude, you will see 4 more options:
- Exclude empty folders (un-checked by default)
If checked then Exclude folders that are empty or that contain only empty folders. Folders are considered empty if they contain no files or if they contain only files that were excluded by Filters. - Exclude Hidden files and folders (un-checked by default)
Exclude files and folders that have the HIDDEN attribute. - Exclude System files and folders (un-checked by default)
Exclude files and folders that have the SYSTEM attribute. - Exclude Temporary files and folders (checked by default)
Exclude files and folders that are temporary and not worth saving.
File Syntax and Parameters
Wildcards
* matches any sequence of characters
? matches an arbitrary single character
[a-z] matches a range of characters, such as a to z
\c matches character “c”. Use it when character to match is * or ? or [
/ separates folders (do not use \ as folder separator, not even in Windows)
Path /folder/file
Line that starts with "path /" (or just "/") matches file or folder path (relative to sync folder)
to a specified wildcard or string.
Examples:
- path /folder1/file2.ext -- matches file by its path
- path /Parent* -- matches all paths whose top level folder is “Parent”
- path /[a-z0-9]* -- matches all paths whose top level folders start with characters 'a' to 'z' or '0' to '9'
- path /\[Originals\] -- matches all paths whose top level folder is '[Originals]'.
NOTE: Include filter 'path /folder' includes only the /folder itself, but not the files inside.
To include files inside this folder, write this clause as 'path /folder/*'.
Name filename/foldername
Line that starts with "name" matches file or folder name (last object of the path)
to a specified wildcard or string.
Examples:
- name *.xls -- Excel files,
- name *kiss* -- files or folders that contain "kiss" in their name
- name *.??? -- all files and folders with 3-character extension
- name *.[a-z][a-z][a-z] -- all files and folders with 3-letter extension
- name \[Originals\] -- matches all file and folders named '[Originals]'.
Size Value
Lines that start with "any size" or "all size" allow exclusion/inclusion of files by file size:
- any size<N
means size.left<N OR size.right<N - all size<N
means size.left<N AND size.right<N - any size>N
means size.left>N OR size.right>N - all size>N
means size.left>N AND size.right>N - any size=N
means size.left=N OR size.right=N - all size=N
means size.left=N AND size.right=N - any size!=N
means size.left!=N OR size.right!=N - all size!=N
means size.left!=N AND size.right!=N - any size>=N
means size.left>=N OR size.right>=N - all size>=N
means size.left>=N AND size.right>=N - any size<=N
means size.left<=N OR size.right<=N - all size<=N
means size.left<=N AND size.right<=N - any size[S1,S2]
means S1 <= size.left < S2 OR S1 <= size.right < S2 - all size[S1,S2]
means S1 <= size.left < S2 AND S1 <= size.right < S2
K = kilobytes
M= megabytes
No spaces are allowed in the "size" match line.
Size of non-file items (folder, link, deleted or not-present file) are considered to be 0 for the purposes of 'size' comparisons.
Examples:
- all size>=100 -- files on both sides that contain 100 bytes or more
- any size<2K -- files that contain less than 2,048 (1K = 1024) bytes on either left or right side, links and deleted files are OK too
- all size=3M -- files that contain exactly 3,145,728 bytes (1M = 1024 * 1024) bytes on both sides
Time Value
Lines that start with "any time" or "all time" allow exclusion/inclusion of files by modification date:
- any time<T
means time.left<T OR time.right<T - all time<T
means time.left<T AND time.right<T - any time>T
means time.left>T OR time.right>T - all time>T
means time.left>T AND time.right>T - any time=T
means time.left=T OR time.right=T - all time=T
means time.left=T AND time.right=T - any time!=T
means time.left!=T OR time.right!=T - all time!=T
means time.left!=T AND time.right!=T - any time>=T
means time.left>=T OR time.right>=T - all time>=T
means time.left>=T AND time.right>=T - any time<=T
means time.left<=T OR time.right<=T - all time<=T
means time.left<=T AND time.right<=T - any time[S1,S2]
means S1 <= time.left <= S2 OR S1 <= time.right <= S2 - all time[S1,S2]
means S1 <= time.left <= S2 AND S1 <= time.right <= S2
Where T is date in one of these formats:
YYYY/MM/DD -- year/month/day
-Nd -- N days ago
+Nd -- N days in the future
-Nh -- N hours ago
+Nh -- N hours in the future
-Nm -- N minutes ago
+Nm -- N minutes in the future
No spaces are allowed in the "time" match line.
Only existing (not deleted) files are meant to take part in 'time' comparisons.
Modification time of non-file objects (folders, links, deleted files) is considered to be NullTime (Jan 1, 1970).
Examples:
- any time>=2008/7/4 -- files modified at 00:00 on July 4, 2008 or later on either side
- all time<-5d -- files older than 5 days ago on both sides
- any time>=+7d -- files modified 7 days in the future or later on either side
is-x
Lines that start with "is" match file and folder attributes:
- isfolder
matches a folder - isfile
matches a file - issymlink
matches symbolic link or junction - ishidden
matches files and folders with hidden attribute - issystem
matches files and folders with system attribute (Windows only) - isarchive
matches files and folders with archive attribute (Windows only) - isreadonly
matches files and folders with readonly attribute (Windows only) - isoffline
matches files and folders with offline attribute (Windows only) - iscompressed
matches files and folders with compressed attribute (Windows only) - isencrypted
matches files and folders with encrypted attribute (Windows only, EFS encryption)
exist-x
Lines that start with "exist" match facts of presence and absence of file and folders.
- existboth
file or folder exists both on left and right side - existany
file or folder exists on left, right side, or both sides - existone
file or folder exists only on one side.