I'm consolidating duplicate files on various drives and I would like to skip all files with the same name and same size, regardless of the date/time. I didn't see a solution for this in previous forum discussions. Could someone help me figure out how to do it, either using the current commands or through defining a custom command? Any custom command would need to work for folders, subfolders, and files in those folders and subfolders.
If it is not possible to do in the current move/replace dialog, please also consider this as a feature suggestion. I very often find that with cloud syncing, etc. I have lots of duplicate files that are identical except for the date modified/created. I see in older threads that this has been requested before.
This command will copy the selected files/folders from source to destination, skipping anything with the same name and size, and ignoring dates:
Copy UPDATEALL UPDATETOLERANCE=2147483647 WHENEXISTS=merge
If you don't want to be prompted about overwriting files, you could change it to this:
Copy UPDATEALL UPDATETOLERANCE=2147483647 WHENEXISTS=merge,replace
Technically, it doesn't ignore times entirely.
UPDATETOLERANCE=2147483647 tells it to consider times equal if they are within 2147483647 seconds of each other, i.e. about 68 years. That should cover most situations, though.
Don't use a number higher than 2147483647 or it won't work.
It won't work if the source or destination is a Zip archive, or some FTP sites, as those don't support seconds in timestamps and the time comparison ignores the
UPDATETOLERANCE argument in that case.
You can't add the
MOVE argument, so you'll need to delete the source files afterwards, if that is your aim. (But you'd need to do that anyway, to remove any files that were skipped.)
(In the future we'll make this a bit easier, with an explicit arg to say which attributes you want to compare.)
Thanks. I can figure out how to make a button to execute that command, but how do I set it up to define the source and destination folders? If I highlight a bunch of files and have two listers open, will it assume that they are source and destination?
Usually, yes. Here's how it works:
Thanks. How can I have the following happen in a command?
- File in source, not in destination --> move file to destination
- File in source, same name but different size file in destination --> rename older file by appending (original) or (old)
- File in source, same name and and same size file in destination --> skip file, leave in source folder
I don't know of a way to combine all of those at once, other than writing a script which looks through the source and destination files itself and makes all the choices.
Another option would be to use the Duplicate File Finder to find all the duplicates before doing the copy/move.