GP SoftwareTwitter
Opus FAQsManualCommandsObjects

Confirm File Replace question


I’ve been reorganizing some files on my hard drives using DOpus. When I move files and a potential duplicate is detected, DOpus gives me the Confirm File Replace dialog. Frequently, the only difference in the files is the date/time. I treat these files as identical and I’m happy to delete one copy. My preference would be to delete the copy that I’m trying to move so that I don’t have to wait for it to copy and overwrite the file in the destination folder. DOpus gives me the option to Skip Identical files but because the files have different time stamps, they aren’t identical. Thus, I have to Rename New (All) and then do a search for duplicates. Is there a way to have DOpus ignore the time stamp when determining whether files are “identical” for the purpose of replacing in a move operation?



I haven’t actually tested this, but I’d try something like:


The first line copies existing files from the source to the destination but only if their sizes are different.

The second line copies brand new files from the source to the destination and skips (does not replace) any currently existing files.

Since I really haven’t tested this, you should give the above a good test before using it on important files.

By the way, if your date/time differences between source and destination files are minimal you can use the UPDATETOLERANCE argument. I use that with a setting of 3602 which tells Opus to treat file timestamps as identical if they are within 1 hour and 2 seconds of each other. This is to compensate for both NTFS and FAT32 drives and to allow for Windows time shifting when daylight savings time changes toggle.


Thanks, John. First question: If I want to move files instead of copying them, do I just replace the Copy command with the Move command. Second question: If sizes are different, I don’t want to replace; instead, I want to rename the “new” file (preferably the file being copied, but renaming based on actual date is OK, too). So, what argument do I need to provide instead of the “replace” argument that you used?


When I first read your question it seemed like it would be an easy one to answer. However as I started working on it I’ve changed my mind.

It appears when you add the MOVE argument to the COPY command it overrides other arguments such as UPDATEEXISTING. In other words adding the move argument means it will move all selected source files to the destination whether they are of different sizes or not (which is just what the help manual says). However I would think if the MOVE argument followed the UPDATEEXISTING argument then it should move any files which are qualified by the UPDATEEXISTING argument. But that’s not what happens.

So the closest I can come to what you want to do is this:

Which will rename the new qualifying source files (files of different size) when they are copied to the destination. It doesn’t move them however.

I could write a batch file script that would take the files currently selected in the Opus source and do it that way, but that seems to be an overkill solution right now.

Of course there’s a good chance I’m overlooking something obvious here so perhaps someone else might come up with an answer.

But if no one else does come up with a solution I believe this would be an excellent candidate as a feature request.


What if you copy the changed files as per the first example, then delete everything in the source? Does that give the desired result or have I misunderstood?

(Of course, you have to be careful about errors in that case, else you could delete something new that failed to copy.)


Yeah, that would probably work, but it would be so much easier if DOpus would simply allow the user to select which file attributes to ignore when determining whether a file is “identical” for the purpose of moving files.


Does it make much difference? You can do what you want via a Copy, but not a Move, but if you’re going to obliterate whatever is left in the source after copying/moving the changed files to the destination, then you’re going to have to do a Delete All after the Copy (or Move), right?

Not that I am against the ideal. It would be useful to make the WHENEXISTS argument take parameters like samesize, samedate, olderdate, newerdate or similar. I’m just not convinced it makes much difference in this particular example where you want to obliterate the source. If you move some files and then delete the others it’s the same as copying some files and then deleting all of them.

(I assume the source and destination are on different drives. If they’re on the same drive then the Move will be quicker, of course.)