App to copy everything from folder A that folder B doesn't have to B?
December 16, 2014 5:06 AM Subscribe
Is there an app to copy everything from one folder to another folder that isn't already in the other folder? Suppose folder A has contents {a, f, j} and folder B has contents {f, m, v}. I'd want to be able to press a button that will figure out which files A has that B doesn't have, namely {a, j}, and copy them to the B folder, so that afterwards B will have {a, f, j, m, v}.
Note: I'd be just as happy to have an app that will simultaneously go in both directions, making sure that each folder gets whatever the other folder has.
Note: I'd be just as happy to have an app that will simultaneously go in both directions, making sure that each folder gets whatever the other folder has.
Total Commander is another Windows option. Grsync has versions for various platforms. (edit: Grsync is a GUI version of rsync mentioned above)
posted by quinndexter at 5:15 AM on December 16, 2014
posted by quinndexter at 5:15 AM on December 16, 2014
You want to copy everything from one folder to another, but skip things that are already there? rsync.
You may need to decide what counts as "already there" though. File size, modified date, contents of file?
posted by devnull at 5:21 AM on December 16, 2014
You may need to decide what counts as "already there" though. File size, modified date, contents of file?
posted by devnull at 5:21 AM on December 16, 2014
BeyondCompare is what you want.
posted by pyro979 at 5:30 AM on December 16, 2014 [4 favorites]
posted by pyro979 at 5:30 AM on December 16, 2014 [4 favorites]
Seconding Beyond Compare. I love that thing SO hard.
posted by julthumbscrew at 5:32 AM on December 16, 2014
posted by julthumbscrew at 5:32 AM on December 16, 2014
Yet another option: FreeFileSync. I use it to sync stuff between my hard drive and a usb stick.
posted by desjardins at 6:20 AM on December 16, 2014
posted by desjardins at 6:20 AM on December 16, 2014
If you're on Windows (you're not saying, so I can't assume): you don't need an app (or program). If you just use Explorer to copy all the files from directory A into directory B, Windows will ask you if you want to skip file f, and you tell it yes.
This sounds way too simple so I'm probably missing something really obvious. Story of my life.
posted by Too-Ticky at 6:37 AM on December 16, 2014
This sounds way too simple so I'm probably missing something really obvious. Story of my life.
posted by Too-Ticky at 6:37 AM on December 16, 2014
Response by poster: I am very pleased to hear of these options, but, to follow up on devnull's question, I should say that I'm interested in more than just file names. I am interested first and foremost in file content. If, say, a pair of pdf documents, when opened, differ even slightly, such as that one has a comma that's deleted in the other one, I want to retain copies of both of them.
posted by Eiwalker at 6:39 AM on December 16, 2014
posted by Eiwalker at 6:39 AM on December 16, 2014
If this is for Windows, ye olde gold standard is going to be xcopy. The updated version is Robocopy.
posted by mikeh at 7:11 AM on December 16, 2014
posted by mikeh at 7:11 AM on December 16, 2014
robocopy /mir sourcedir targetdir
If you're on windows, robocopy is probably on there. Run the above from the command line.
posted by punchee at 7:12 AM on December 16, 2014
If you're on windows, robocopy is probably on there. Run the above from the command line.
posted by punchee at 7:12 AM on December 16, 2014
Well for rsync you can run in dry-run mode first, and examine the differences. Then you run in normal mode. Beyond Compare probably has something similar.
posted by devnull at 7:14 AM on December 16, 2014
posted by devnull at 7:14 AM on December 16, 2014
Robocopy and SynchPro are my go to utilities for this.
posted by Hermione Granger at 7:21 AM on December 16, 2014
posted by Hermione Granger at 7:21 AM on December 16, 2014
I use Synctoy to make one folder match the other's contents. It will track file renames and add files from both to the other.
CloneSpy will help you find duplicates (by content), even if they have different names. So, you could copy all files from both A and B into a new folder, appending 2 to any duplicate names. Then use CloneSpy to remove the dupes.
posted by soelo at 7:35 AM on December 16, 2014
CloneSpy will help you find duplicates (by content), even if they have different names. So, you could copy all files from both A and B into a new folder, appending 2 to any duplicate names. Then use CloneSpy to remove the dupes.
posted by soelo at 7:35 AM on December 16, 2014
I'm not aware of a program that will do this by assessing content. Usually it's by filename, and when I have managed big groups of files with Beyond Compare, it finds duplicates and lets me make choices. Or it can be set to follow preferences.
posted by theora55 at 8:12 AM on December 16, 2014
posted by theora55 at 8:12 AM on December 16, 2014
FreeFileSync has a "versioning" option, wherein, if a file has been changed, it'll update it in the destination folder, but also copy the old version to another folder and add a time stamp to the filename. To quote its documentation:
posted by Shmuel510 at 8:40 AM on December 16, 2014
Set deletion handling to Versioning and naming convention to Time stamp. FreeFileSync will move deleted files into the provided folder and add a time stamp to each file name. The structure of the synchronized folders is preserved so that old versions of a file can be conveniently accessed via a file browser.If you specifically want everything to end up in Folder B, not Folders B and C, I would suppose you could set the folder with the older versions to be the same as the destination folder (provided that that's not the drive's root directory). The caveat is that I haven't tested this, nor have I tried the versioning feature. (Also, it does look like the YYYY-MM-DD hhmmss filename renaming scheme shown above is hard-coded.)
Example: A file Folder\File.txt was updated three times and old versions were moved to folder C:\RevisionsC:\Revisions\Folder\File.txt 2012-12-12 111111.txt
C:\Revisions\Folder\File.txt 2012-12-12 122222.txt
C:\Revisions\Folder\File.txt 2012-12-12 133333.txt
posted by Shmuel510 at 8:40 AM on December 16, 2014
(As for how it knows the difference, there are two options. The usual one is checking for differences in file time and size; if either of those attributes has been changed, the program assumes that the files are different; if they're both equal, the program assumes they're the same. There is also an option for checking the file content itself. This will take longer to run, for obvious reasons.)
posted by Shmuel510 at 8:45 AM on December 16, 2014
posted by Shmuel510 at 8:45 AM on December 16, 2014
This thread is closed to new comments.
posted by dhens at 5:09 AM on December 16, 2014 [2 favorites]