Recently discovered the capability to enable verification in globalsettings.xml. Nifty feature!
I would like verification even better if I could choose, on a per-sync basic, whether I wanted verification enabled or not. Another setting in the Sync dialog?
Thank you!
enhancement request regardling verification
- Posts: 17
- Joined: 18 Nov 2018
- Posts: 2450
- Joined: 22 Aug 2012
You can invoke FFS using a different, user-specified globalsettings.xml file.
See https://freefilesync.org/manual.php?topic=command-line ad 5.
See https://freefilesync.org/manual.php?topic=command-line ad 5.
- Posts: 17
- Joined: 18 Nov 2018
That's a cool idea if I were using a command line. But I have a large number of ffs_batch files controlling my syncs, and I don't see a way to mod the ffs_batch file to use a different globalsettings.xml.
- Posts: 2450
- Joined: 22 Aug 2012
> ... if I were using a command line.
Essentially you are always using a Command Line.
A desktop icon or shortcut also uses a "Command Line"
> ... But I have a large number of ffs_batch files controlling my syncs,
> and I don't see a way to mod the ffs_batch file to use a different globalsettings.xml.
You do (at least presently) not change the ffs_batch files, but you change the way you launch those.
If you launch your ffs_batch files from the FFS GUI, you could create two desktop (shortcut) icons.
The first icon, invoking a "standard" FFS instance, using the GlobalSettings.xml in its default location, via the shortcut's Target
If you launch your ffs_batch files from RTS, simply add "D:\Different GlobalSettings.xml" to the RTS Command Line by which the FFS instance is launched (for those ffs_batch configurations that need to use the different GlobalSetting configuration).
If you launch your ffs_batch files from the Task Scheduler, simply add "D:\Different GlobalSettings.xml" to the Task Scheduler's list of Add(itional) Arguments (for those ffs_batch configurations that need to use the different GlobalSetting configuration)
Essentially you are always using a Command Line.
A desktop icon or shortcut also uses a "Command Line"
> ... But I have a large number of ffs_batch files controlling my syncs,
> and I don't see a way to mod the ffs_batch file to use a different globalsettings.xml.
You do (at least presently) not change the ffs_batch files, but you change the way you launch those.
If you launch your ffs_batch files from the FFS GUI, you could create two desktop (shortcut) icons.
The first icon, invoking a "standard" FFS instance, using the GlobalSettings.xml in its default location, via the shortcut's Target
And a second icon, invoking an FFS instance, using a user specified .xml-file as its GlobalSettings.xml, via that shortcut's Target"C:\Program Files\FreeFileSync\FreeFileSync.exe"
You can then e.g. drag/drop your ffs_batch configurations into the proper FFS GUI instance's Configuration window. That "list" will be remembered via the respective GlobalSettings files."C:\Program Files\FreeFileSync\FreeFileSync.exe" "D:\Different GlobalSettings.xml"
If you launch your ffs_batch files from RTS, simply add "D:\Different GlobalSettings.xml" to the RTS Command Line by which the FFS instance is launched (for those ffs_batch configurations that need to use the different GlobalSetting configuration).
If you launch your ffs_batch files from the Task Scheduler, simply add "D:\Different GlobalSettings.xml" to the Task Scheduler's list of Add(itional) Arguments (for those ffs_batch configurations that need to use the different GlobalSetting configuration)
- Posts: 17
- Joined: 18 Nov 2018
I very much appreciate the response. I tried to follow the directions, but it didn't work for me. Perhaps I misunderstood something.
Here's what I did:
1. Created a version of GlobalSettings.xml called GlobalSettingsNoVerify.xml. Edited the latter file to turn the verify setting to false.
2. Manually executed ffs with the command line:
"d:\program files\freefilesync\freefilesync" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
3. ffs started up with no complaints.
4. Dragged and dropped one of my existing ffs_batch files onto the ffs GUI. Let's call it save1.ffs_batch.
5: Did File/Save as Batch file and named it save1NoVerify.ffs_batch.
6. Exited the ffs GUI.
6. Double-clicked on save1NoVerify.ffs_batch. ffs started running and syncing as expected, but it still performed a verify on each file it copied.
-------------------------
I looked at the save1NoVeify.ffs_batch file, and couldn't find anywhere where the globalConfiguration.xml file was specified. So it looks to me like it used the default xml file instead of the new one I created.
It sure would be easier if the ffs GUI had a radio button to enable/disable verify and that setting was saved in the ffs_batch file.
Here's what I did:
1. Created a version of GlobalSettings.xml called GlobalSettingsNoVerify.xml. Edited the latter file to turn the verify setting to false.
2. Manually executed ffs with the command line:
"d:\program files\freefilesync\freefilesync" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
3. ffs started up with no complaints.
4. Dragged and dropped one of my existing ffs_batch files onto the ffs GUI. Let's call it save1.ffs_batch.
5: Did File/Save as Batch file and named it save1NoVerify.ffs_batch.
6. Exited the ffs GUI.
6. Double-clicked on save1NoVerify.ffs_batch. ffs started running and syncing as expected, but it still performed a verify on each file it copied.
-------------------------
I looked at the save1NoVeify.ffs_batch file, and couldn't find anywhere where the globalConfiguration.xml file was specified. So it looks to me like it used the default xml file instead of the new one I created.
It sure would be easier if the ffs GUI had a radio button to enable/disable verify and that setting was saved in the ffs_batch file.
- Posts: 17
- Joined: 18 Nov 2018
Just for clarity, my usual method of invoking ffs is to have a desktop shortcut with a target of the form:
C:\Users\howard\Desktop\Syncs\SyncName.ffs_batch
but I bypassed that for the above tests.
C:\Users\howard\Desktop\Syncs\SyncName.ffs_batch
but I bypassed that for the above tests.
- Posts: 2450
- Joined: 22 Aug 2012
> 5: Did File/Save as Batch file and named it save1NoVerify.ffs_batch.
Obviously, that does not help.
As you already concluded yourself, the VerifyCopiedFiles flag setting is determined by the xml-(GlobalSetting)file used when opening an instance of FFS, and is not saved in the *.ffs_batch file.
By double-clicking a *.ffs_batch file, that file opens in the application it is associated with and hence will use the GlobalSettings.xml file in its default location, irrespective of the specific FFS instance it was saved from.
But you use *.ffs_batch files (as opposed to *.ffs_gui files), so I expect you use some form of automation,
launching those *.ffs_batch syncs from a script, via RTS or the Task Scheduler.
In your script or in RTS you can then use the Command Line
or in the Task Scheduler an Add(itional) Arguments line
But if you want to manually start a *.ffs_batch sync (using a modified GlobalSettings.xml), you can do so by running that sync from an FFS instance that was opened using the modified GlobalSettings.xml (e.g. after your step 4)
or you can double-click a shortcut you created that has a Command LineNote that you then need to create such a shortcut for every *.ffs_batch configuration requiring the use of the modified GlobalSettings.xml.
But, if all that is too complex, you can also take a different approach.
Run your *.ffs_batch syncs that require verification as User1 with a User1 GlobalSettings.xml that has the VerifyCopiedFiles flag set to True, and your *.ffs_batch syncs that do not require verification as User2 with a User2 GlobalSettings.xml that has the VerifyCopiedFiles flag set to False.
In order to prevent mistakes, you preferably save the different *.ffs_batch files in a location only accessable by User1, respectively User2.
Obviously, that does not help.
As you already concluded yourself, the VerifyCopiedFiles flag setting is determined by the xml-(GlobalSetting)file used when opening an instance of FFS, and is not saved in the *.ffs_batch file.
By double-clicking a *.ffs_batch file, that file opens in the application it is associated with and hence will use the GlobalSettings.xml file in its default location, irrespective of the specific FFS instance it was saved from.
But you use *.ffs_batch files (as opposed to *.ffs_gui files), so I expect you use some form of automation,
launching those *.ffs_batch syncs from a script, via RTS or the Task Scheduler.
In your script or in RTS you can then use the Command Line
"d:\program files\freefilesync\freefilesync" "[PathToYourSave1.ffs_batch]\save1.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
"[PathToYourSave1.ffs_batch]\save1.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
or you can double-click a shortcut you created that has a Command Line
"d:\program files\freefilesync\freefilesync" "[PathToYourSave1.ffs_batch]\save1.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
But, if all that is too complex, you can also take a different approach.
Run your *.ffs_batch syncs that require verification as User1 with a User1 GlobalSettings.xml that has the VerifyCopiedFiles flag set to True, and your *.ffs_batch syncs that do not require verification as User2 with a User2 GlobalSettings.xml that has the VerifyCopiedFiles flag set to False.
In order to prevent mistakes, you preferably save the different *.ffs_batch files in a location only accessable by User1, respectively User2.
- Posts: 17
- Joined: 18 Nov 2018
No big automation here. I simply have multiple desktop shortcuts that had a target of (for example):
When I changed the shortcut target to be:
the copying now works without verifying as desired.
So thank you very much for all your help in getting this working!
C:\Users\howard\Desktop\Syncs\SyncEdriveDS412.ffs_batch
"D:\Program Files\FreeFileSync\FreeFileSync.exe" "C:\Users\howard\Desktop\Syncs\SyncEdriveDS412.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
So thank you very much for all your help in getting this working!
- Posts: 17
- Joined: 18 Nov 2018
I spoke a little too soon. There is now a minor, non-critical issue. After the sync completes, I get a popup dialog that says:
Dismissing the dialog does not seem to result in any issues, but is there a way to get it to stop?
Cannot write file "C:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml.87cb.tmp".
ERROR_PATH_NOT_FOUND: The system cannot find the path specified. [CreateFile]
- Posts: 2450
- Joined: 22 Aug 2012
No clue there.
In the worst case, your GlobalSettingsNoVerify.xml is not updated to reflect the most recent syncs that were run.
In the worst case, your GlobalSettingsNoVerify.xml is not updated to reflect the most recent syncs that were run.
- Posts: 17
- Joined: 18 Nov 2018
Okay, thank you for all of your help. I will post something in the "Bugs" topic area.
- Posts: 17
- Joined: 18 Nov 2018
Well, I found it. In my initial invocation line, there was "appdata" missing between howard and roaming.
So ffs was probably using a default GlobalSettings.xml which turned verify off and confused me into thinking my change was working.
So ffs was probably using a default GlobalSettings.xml which turned verify off and confused me into thinking my change was working.
- Posts: 2450
- Joined: 22 Aug 2012
So, you mean that in your case it should have beenNote that you can save your GlobalSettingsNoVerify.xml file (or whatever you name that xml-file) in any arbitrary location, as long as the user running the sync has write access to that location, and you specify the correct path to your xml-file in your Command Line.
So, it does not need to be in the same folder as your standard GlobalSettings.xml file.
"D:\Program Files\FreeFileSync\FreeFileSync.exe" "C:\Users\howard\Desktop\Syncs\SyncEdriveDS412.ffs_batch" "c:\documents and settings\howard\appdata\roaming\freefilesync\GlobalSettingsNoVerify.xml"
So, it does not need to be in the same folder as your standard GlobalSettings.xml file.
- Posts: 17
- Joined: 18 Nov 2018
Yes, that's it exactly.
I understand that I could have placed the xml file anywhere, but I didn't, and then I didn't point to it correctly.
Thank you again for your help.
I understand that I could have placed the xml file anywhere, but I didn't, and then I didn't point to it correctly.
Thank you again for your help.