Often I copy JPG files from an SD card to a single directory on my desktop
computer. Later I move JPGs out of that destination directory and put them
into various other folders.
I'd like to set up a sync that will copy all JPGs not previously copied from
the SD card to that desktop destination folder. I don't want JPGs to be copied
to the destination if they have already been copied there before (and later
moved out of that folder). Also I don't want the JPGs to be deleted from the
SD card (because they are no longer in the desktop destination folder).
Can FreeFileSync be set up to do this?
skip files previously copied?
- Posts: 4
- Joined: 9 Oct 2005
- Site Admin
- Posts: 7210
- Joined: 9 Dec 2007
> Can FreeFileSync be set up to do this?
That's a tough requirement! Independent from what FFS is able to do, I'm not
sure what the best way is to fulfill this request:
1. One could keep a record of copied files for each syncjob, to decide which have not yet been copied.
2. One could only copy files that are newer than some certain date.
3. Be creative...
1.) This is not easy to implement, mostly because there is a lot that can go
wrong with regards to consistency and the condition "has been copied" is not
very clear. Therefore it's pretty much out.
2.) Future versions of FFS may contain an enhanced filter to select files by
time. But even with such a filter there needs to be a way to determine "date
of last synchronization". You wouldn't want to set this manually for each
sync.
3.) Apply a tricky workflow: 1. Setup filter rules to copy files that exist on
your SD card only. 2. Start sync to copy them to your hard disk. So far so
good. 3. Now the trick: We somehow need to "mark" the files on SD as having
been copied. We do this by moving them into a directory called "WasCopied" on
the SD: Create a second sync-config, that does nothing else than delete (yes!
:) the files on the SD, except (create a filter rule for this) the directory
"WasCopied". BUT as "deletion handling" specify folder "WasCopied" on the SD.
Then execute this second sync-config. (You can invoke both configurations by a
batch file, so the complete process, once set up, requires just one double-
click to start).
So the first step will copy all new files while the second step marks these
files as having been copied. (Relax about the deletion step: Technically this
is just a rename-operation, so the file's data is not touched.)
That's a tough requirement! Independent from what FFS is able to do, I'm not
sure what the best way is to fulfill this request:
1. One could keep a record of copied files for each syncjob, to decide which have not yet been copied.
2. One could only copy files that are newer than some certain date.
3. Be creative...
1.) This is not easy to implement, mostly because there is a lot that can go
wrong with regards to consistency and the condition "has been copied" is not
very clear. Therefore it's pretty much out.
2.) Future versions of FFS may contain an enhanced filter to select files by
time. But even with such a filter there needs to be a way to determine "date
of last synchronization". You wouldn't want to set this manually for each
sync.
3.) Apply a tricky workflow: 1. Setup filter rules to copy files that exist on
your SD card only. 2. Start sync to copy them to your hard disk. So far so
good. 3. Now the trick: We somehow need to "mark" the files on SD as having
been copied. We do this by moving them into a directory called "WasCopied" on
the SD: Create a second sync-config, that does nothing else than delete (yes!
:) the files on the SD, except (create a filter rule for this) the directory
"WasCopied". BUT as "deletion handling" specify folder "WasCopied" on the SD.
Then execute this second sync-config. (You can invoke both configurations by a
batch file, so the complete process, once set up, requires just one double-
click to start).
So the first step will copy all new files while the second step marks these
files as having been copied. (Relax about the deletion step: Technically this
is just a rename-operation, so the file's data is not touched.)
- Site Admin
- Posts: 7210
- Joined: 9 Dec 2007
3.) Another tricky workflow: This time it won't change files on the SD. Have a
dummy folder "AlreadyCopied" on hard disk that contains all files that have
once been copied. Taking advantage of functionality suggested here [404, Invalid URL: https://sourceforge.net/tracker/index.php?func=detail&aid=2959499&group_id=234430&atid=1093083] first apply an incremental sync to copy all new
files from the SD to some third folder on HD. then update-sync SD ->
"AlreadyCopied" just as normal, so that the next incremental sync will only
process really new files. Disadvantage: Incremental backup is not (yet?)
implemented. ;)
dummy folder "AlreadyCopied" on hard disk that contains all files that have
once been copied. Taking advantage of functionality suggested here [404, Invalid URL: https://sourceforge.net/tracker/index.php?func=detail&aid=2959499&group_id=234430&atid=1093083] first apply an incremental sync to copy all new
files from the SD to some third folder on HD. then update-sync SD ->
"AlreadyCopied" just as normal, so that the next incremental sync will only
process really new files. Disadvantage: Incremental backup is not (yet?)
implemented. ;)
- Posts: 4
- Joined: 9 Oct 2005
Hi, thanks for your replies. Those are good ideas.
I found that Microsoft Synctoy will do what I want. I used the "Contribute"
option. It copies new files from the photos folder on my SD card to a folder
on my desktop PC, it doesn't delete anything. After I did this once, I moved
some of the photos from the destination folder on my PC to other folders. Then
I took some more photos on the SD card. When I ran Synctoy again, I was
pleased to see that it did not recopy the files that I had already copied over
but later moved out of the destination folder.
SyncToy knows that even those files are not in the destination folder, they
are not "new" files. I think Synctoy determines what are new files by
referring to a file it placed in the source folder named "SyncToy_a96f4df0
-d71c-4df9-a446-92d15449c369.dat" - i think it keeps a record of what files
were copied in the previous sync.
Keep up the good work.
I found that Microsoft Synctoy will do what I want. I used the "Contribute"
option. It copies new files from the photos folder on my SD card to a folder
on my desktop PC, it doesn't delete anything. After I did this once, I moved
some of the photos from the destination folder on my PC to other folders. Then
I took some more photos on the SD card. When I ran Synctoy again, I was
pleased to see that it did not recopy the files that I had already copied over
but later moved out of the destination folder.
SyncToy knows that even those files are not in the destination folder, they
are not "new" files. I think Synctoy determines what are new files by
referring to a file it placed in the source folder named "SyncToy_a96f4df0
-d71c-4df9-a446-92d15449c369.dat" - i think it keeps a record of what files
were copied in the previous sync.
Keep up the good work.
- Posts: 1
- Joined: 17 Mar 2009
I think that it is easier to make an additional comparison of the two sets of
files: "right" and "left" - without regard to their location in folders.
files: "right" and "left" - without regard to their location in folders.