AppData settings syncing

Get help for specific problems
Posts: 8
Joined: 1 May 2019

SBlake

Hi, Due to having to recently re-install windows again after a few months, it's always so hard to copy the right settings for my applications before anything might go wrong. I backup AppData, and various other locations to my D drive. There are a lot of temp/cache files that I filter out, but find it easier to add the folders I want manually to the sync. Doing this on a single folder basis is fine. But when it's multiple in the same location, the I get errors...

Here is a small example of my folders to backup:
C:\Users\Sam\AppData\Local\Native Instruments
C:\Users\Sam\AppData\Local\TechSmith
C:\Users\Sam\AppData\Local\CDex

As they are all "local" based files, I want to put them in "D:\Portfolio\_Program Settings\_FreeFileSync\AppData\Local"

I get this error:
"Some files will be synchronized as part of multiple base folders.
To avoid conflicts, set up exclude filters so that each updated file is considered by only one base folder.

D:\Portfolio\_Program Settings\_FreeFileSync\AppData\Local"

How can I best set this up to avoid the error? Also is it better to use "Mirror" over "update"?

I've checked some videos on youtube, but they seem rather long-winded and overlook various things I'm interested in knowing about.

Thanks for any info.
Posts: 8
Joined: 1 May 2019

SBlake

Also, on a FULL program folder backup. How can I exclude all root level files of a folder, without affecting subfolders?

This is my main backup folder:
C:\Program Files\Pixologic\ZBrush 2019\

But, I want to exclude root files and various subfolders/files using a wildcard instead of having them listed like this:
\fmodex64.dll
\FreeType license.txt
\lgpl-2.1.txt
\LicenseAgreement.txt
\Pixologic Deactivation Manager.exe
\QtLicense.rtf
\update.ini
\ZBrush.exe
\ZUpgrader.exe

I tried \*.*
But that removes all of the files within all subfolders. How can I stop it at root level?

Various folders and their contents were easy to exclude using the RMB > exclude via filter option.

Finally, is there any way to close the folders on the Compare column (relative path)? It gets very confusing when there are 10s of folders and even more subfolders per folder.

Thanks again for any help.
User avatar
Posts: 2451
Joined: 22 Aug 2012

Plerry

On your first posting:
As described, it seems that you sync the content of
C:\Users\Sam\AppData\Local\Native Instruments
C:\Users\Sam\AppData\Local\TechSmith
C:\Users\Sam\AppData\Local\CDex
etc. to D:\Portfolio\_Program Settings\_FreeFileSync\AppData\Local
So, if there is e.g. a file A.txt in Native Instruments and a file A.txt in an identical relative position in the folder tree in TechSmith, there is an overlap. That is what the warning FFS gives you is about.

What you probably want to do, is to:

- Sync C:\Users\Sam\AppData\Local\Native Instruments to
D:\Portfolio\_Program Settings\_FreeFileSync\AppData\Local\Native Instruments
- Sync C:\Users\Sam\AppData\Local\TechSmith to
D:\Portfolio\_Program Settings\_FreeFileSync\AppData\Local\TechSmith
- etcetera

Then there is no verlap, and use of the same file name, even in the same relative folder-tree position, is no problem.

From your description, it is not clear how you have defined your sync.
If you use multiple left-right folder pairs, you can simply change the right folder pair as suggested above.
As an alternative, you may define your sync as a single left-right folder pair:
Left: C:\Users\Sam\AppData\Local and right:
D:\Portfolio\_Program Settings\_FreeFileSync\AppData\Local,
and instead of having an include filter of "*" (everything), enter the list of directories to be included:
\Native Instruments\* (everything in the \Native Instruments folder)
\TechSmith\* (everything in \TechSmith folder)
etcetera

On you second posting:
Selectively excluding all files in just the root of the left- and right base folder is not possible in FFS (as far as I am aware).
However, one option seems to be to selectively include everything that is not in the root of the left- and right base folder.
Instead of having an Include filter of "*" (everything), you should be able to use "\*\*" (everything that is at least one folder level deeper than the root of the base folders).

If you use the method of the Include filter as described for your first posting, and if you want to exclude all files in the "root" of e.g. C:\Users\Sam\AppData\Local\TechSmith from your sync, you can change the \TechSmith\* entry in the Include filter into \TechSmith\*\*
Posts: 8
Joined: 1 May 2019

SBlake

Thanks! The "include" idea. Yes, that's so much better and I can avoid the temp/cache files by checking the overview. Then I can further refine files I don't want within a given folder with exclude.

For me at least, the popup warning info isn't very clear for a new user. You've explained it perfectly!

EDIT:
Ok. while it worked perfectly for a single folder pair A > B, once I added a second folder pair, using the same kind of settings, it only copied empty folders. I have the Main Config filter (defaults), and 2 pair filters with only the folders I want for Include, nothing in their Excludes (for now).

Set01 - Includes (excludes is empty):
\RecoveredFiles\
\ZStartup\
\RecoveredFiles\
\QuickSave\

Set02 - Includes (excludes is empty):
\Recovered Files\
\ZStartup\

This is more of a feature suggestion, but:
It would be great if there was pair targeting for each individual pair. Currently when I right-click a folder I want, it adds it to the main config filter. Whereas I would like to target it to my 1st or 2nd folder pair filter:
RMB > Include via filter > Set01 > \folder\

It would be great if we could see folders that are set for syncing like in this image (On the right is clear: gray = not in my sync list)
FFS_overview.png
FFS_overview.png (83.76 KiB) Viewed 2325 times
Strangely, the folders that I INCLUDE are not showing in that list (I have the * to show the other files I want to add to my include list, without it I can't see them).

\Recovered Files\
\ZStartup\
*
Posts: 8
Joined: 1 May 2019

SBlake

Ok, something strange seems to be happening here. I have 3 includes, only ZProjects is showing in the overview list on the left. But not ZStartup or Recovered files. Bug?

FFS_01_overview.PNG
FFS_01_overview.PNG (55.62 KiB) Viewed 2320 times
EDIT:
I closed the app and went away for a while. Came back and tried it again and this time the folders were populated with files (not just empty folders), and the overview reflected the filter selections properly. Strange.

NB: Ignore the * in includes, i remove it when I'm done editing the list (otherwise nothing shows to add to the filter).
User avatar
Posts: 2451
Joined: 22 Aug 2012

Plerry

Adding the * on the new line in the Include filter makes the previous lines obsolete.
The * already tells FFS to include everything, so it already includes the folders listed just above.

The fact that, without the *, you get just empty folders is to be expected.
You have told FFS to include e.g. the folder \ZStartup\ , but not the files and subfolders in it.
If you want to also include the files and subfolders in those folders, as per my earlier reply, you need to change the Include filter definition from \ZStartup\ into \ZStartup\* (mind the * at the end).
Posts: 8
Joined: 1 May 2019

SBlake

Thanks for that. I'm new to this kind of stuff. Having played around with FFS a little, re-reading your earlier reply makes sense, \ThisAndAllitsContents\*

Is there any way to stop the items disappearing from the "overview" once you add them to a filter? They disappear for both include/exclude.

Update:
While everything is working perfectly with my program files, documents, etc location pairs. AppData locations still give the same original error, even though they are now all targeting their own unique end folder.

C:\Users\Sam\AppData\Local\Native Instruments
D:\Portfolio\_Program Settings\_FreeFileSync\AppData\Local\Native Instruments
User avatar
Site Admin
Posts: 7211
Joined: 9 Dec 2007

Zenju

On you second posting:
Selectively excluding all files in just the root of the left- and right base folder is not possible in FFS (as far as I am aware).
However, one option seems to be to selectively include everything that is not in the root of the left- and right base folder.
Instead of having an Include filter of "*" (everything), you should be able to use "\*\*" (everything that is at least one folder level deeper than the root of the base folders). Plerry, 01 May 2019, 07:19
Just *\ as an include phrase will suffice.
User avatar
Posts: 2451
Joined: 22 Aug 2012

Plerry

That is confusing and seems like it must be an exception:

As per the Manual page, *\thumbs.db refers to "All files (and folders) named thumbs.db" (so including any such files in the base directories).
Then here the asterisk (*) stands for any number of arbitrary characters, including zero characters.

If, as per the Manual page and your reply, *\ refers to "All subdirectories of the base directories" (so now not including the base directories themselves), here the asterisk (*) would need to stand for any number of arbitrary characters, including zero characters, except for a single backslash (\) .
Because, if the asterisk in *\ would stand for any number of arbitrary characters, including zero characters without except for a single backslash (\), then *\ would include just \ , and thereby also refer to the base directories themselves.

It is even more confusing as just a single asterisk (*) refers to everything, including the root directories, and "*.txt files located in subdirectories of base directories" requires \*\*.txt (including the initial backslash).

Hopefully you can understand my confusion ...
User avatar
Site Admin
Posts: 7211
Joined: 9 Dec 2007

Zenju

That is confusing and seems like it must be an exception: Plerry, 03 May 2019, 09:58
Indeed, but it's an additional rule that is not explicitly stated in the manual but that FFS implements:

If a folder is matched, then all its child items are matched as well.

This models what users naturally expect when they exclude "subfolder": "subfolder\file.txt" etc. should be excluded, too. The same goes for including "subfolder".

So then we have *\ as a match for all folders, and with the previous rule, also all child elements. What is NOT matched however are child elements directly below the base folders. Base folders are just containers and have no representation in FFS that would be considered during filtering, so they are never matched.