enhancement request regardling verification

Discuss new features and functions
Posts: 17
Joined: 18 Nov 2018

hspindel

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!
User avatar
Posts: 2450
Joined: 22 Aug 2012

Plerry

You can invoke FFS using a different, user-specified globalsettings.xml file.
See https://freefilesync.org/manual.php?topic=command-line ad 5.
Posts: 17
Joined: 18 Nov 2018

hspindel

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.
User avatar
Posts: 2450
Joined: 22 Aug 2012

Plerry

> ... 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
"C:\Program Files\FreeFileSync\FreeFileSync.exe"
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" "D:\Different GlobalSettings.xml"
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.

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

hspindel

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.
Posts: 17
Joined: 18 Nov 2018

hspindel

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.
User avatar
Posts: 2450
Joined: 22 Aug 2012

Plerry

> 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
"d:\program files\freefilesync\freefilesync" "[PathToYourSave1.ffs_batch]\save1.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
or in the Task Scheduler an Add(itional) Arguments line
"[PathToYourSave1.ffs_batch]\save1.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
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 Line
"d:\program files\freefilesync\freefilesync" "[PathToYourSave1.ffs_batch]\save1.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
Note 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.
Posts: 17
Joined: 18 Nov 2018

hspindel

No big automation here. I simply have multiple desktop shortcuts that had a target of (for example):
C:\Users\howard\Desktop\Syncs\SyncEdriveDS412.ffs_batch
When I changed the shortcut target to be:
"D:\Program Files\FreeFileSync\FreeFileSync.exe" "C:\Users\howard\Desktop\Syncs\SyncEdriveDS412.ffs_batch" "c:\documents and settings\howard\roaming\freefilesync\GlobalSettingsNoVerify.xml"
the copying now works without verifying as desired.

So thank you very much for all your help in getting this working!
Posts: 17
Joined: 18 Nov 2018

hspindel

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:
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]
Dismissing the dialog does not seem to result in any issues, but is there a way to get it to stop?
User avatar
Posts: 2450
Joined: 22 Aug 2012

Plerry

No clue there.
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

hspindel

Okay, thank you for all of your help. I will post something in the "Bugs" topic area.
Posts: 17
Joined: 18 Nov 2018

hspindel

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.
User avatar
Posts: 2450
Joined: 22 Aug 2012

Plerry

So, you mean that in your case it should have been
"D:\Program Files\FreeFileSync\FreeFileSync.exe" "C:\Users\howard\Desktop\Syncs\SyncEdriveDS412.ffs_batch" "c:\documents and settings\howard\appdata\roaming\freefilesync\GlobalSettingsNoVerify.xml"
Note 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.
Posts: 17
Joined: 18 Nov 2018

hspindel

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.