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 in this section will be applied to all Jobs.
Include All of (empty by default)
If 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: By design, 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 HIDDEN attribute.
- Exclude System files and folders (un-checked by default):
Exclude files and folders that have 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
* 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)
Line that starts with "path /" (or just "/") matches file or folder path (relative to sync folder)
to a specified wildcard or string.
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/*'.
Line that starts with "name" matches file or folder name (last object of the path)
to a specified wildcard or string.
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]'.
Lines that start with "any size" or "all size" allow exclusion/inclusion of files by file size:
means size.left<N OR size.right<N
means size.left<N AND size.right<N
means size.left>N OR size.right>N
means size.left>N AND size.right>N
means size.left=N OR size.right=N
means size.left=N AND size.right=N
means size.left!=N OR size.right!=N
means size.left!=N AND size.right!=N
means size.left>=N OR size.right>=N
means size.left>=N AND size.right>=N
means size.left<=N OR size.right<=N
means size.left<=N AND size.right<=N
means S1 <= size.left < S2 OR S1 <= size.right < S2
means S1 <= size.left < S2 AND S1 <= size.right < S2
K = kilobytes
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.
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
Lines that start with "any time" or "all time" allow exclusion/inclusion of files by modification date:
means time.left<T OR time.right<T
means time.left<T AND time.right<T
means time.left>T OR time.right>T
means time.left>T AND time.right>T
means time.left=T OR time.right=T
means time.left=T AND time.right=T
means time.left!=T OR time.right!=T
means time.left!=T AND time.right!=T
means time.left>=T OR time.right>=T
means time.left>=T AND time.right>=T
means time.left<=T OR time.right<=T
means time.left<=T AND time.right<=T
means S1 <= time.left <= S2 OR S1 <= time.right <= 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).
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
Lines that start with "is" match file and folder attributes:
matches a folder
matches a file
matches symbolic link or junction
matches files and folders with hidden attribute
matches files and folders with system attribute (Windows only)
matches files and folders with archive attribute (Windows only)
matches files and folders with readonly attribute (Windows only)
matches files and folders with offline attribute (Windows only)
matches files and folders with compressed attribute (Windows only)
matches files and folders with encrypted attribute (Windows only, EFS encryption)
Lines that start with "exist" match facts of presence and absence of file and folders.
file or folder exists both on left and right side
file or folder exists on left, right side, or both sides
file or folder exists only on one side.