Can I modify the Confirm File replace dialog box?


Something I do quite often is copy a lot of files to destinations where I only want new files copied, and newer existing files copied.
I need something generic and flexible because the source and destinations vary all the time.

I've been doing this with xcopy, but would like to be able to drag and drop a folder of files to a destination and automatically have the behavior described above.
The Confirm File replace dialog box has many options, but not the ones I want.

Is there a way to set up something in Directory Opus to achieve this?

Again, I want to be able to drag and drop a folder of files to a destination and have newer files copied, and only newer existing files copied. If I have to respond to a yes or no question from the Confirm File replace dialog box, that would be OK, though not ideal.

Check out your manual, page 157/158. The commands COPY UPDATEALL & UPDATEEXISTING seem to be the right approach for that task.

Select the files/folders you want to copy in the source, and set where you want to copy them to as the destination, then use File -> File Commands -> Update All.

You can move the menu item to a toolbar button or hotkey if you want easier access to it.

You could also put it on the drop-menu for right-click drags, or on (for example) the event for drag & drop while holding down Alt. Shout if you need help doing any of those things.

Not sure I follow. I select within the tree the folder I want to copy. Then you say to set the destination. How do I do that?

What would be nice is the following:

I select a source and destination (I've been trying the Source and Destination options under File with no success), then click a button to "refresh" the destination. I still can't figure out how to select a source and destination folders.

The UPDATE ALL command is NOT what I want based on its description:
The UPDATEALL command only copies files that: a) do not exist already in the destination, or b) do exist in the destination but are different from the files in the source.

I want existing files to be updated if they are older, not different.

xcopy does exactly what I want. Is there a way I can create a button that uses xcopy and offers some way to select the source and destination folders?

Something so simple seems so complicated. Here is the xcopy command I use:

xcopy "Source*." "Destination*." /S /D /C /H /R /Y

Can I make a button that executes this xcopy command and somehow allows me to select the source and destination?
Taking another approach, is there an exact equivalent to the xcopy command above in Directory Opus?

An elegant and very simple option would be the following:

In preferences, I could select as the default behavior for copy and paste, that newer files are copied, and only newer existing files overwrite older ones.

I could click on a folder in the tree, Ctrl-c, then click on my destination folder and Ctrl-v. So simple and straight forward, not clunky.

Why does this simple concept seem so hard to everybody?

Watch Working with multiple Opus windows/listers (video tutorial), it will quickly get you up to speed with the source/destination concept.

[quote="nmccamy"]The UPDATE ALL command is NOT what I want based on its description:
The UPDATEALL command only copies files that: a) do not exist already in the destination, or b) do exist in the destination but are different from the files in the source.

I want existing files to be updated if they are older, not different.[/quote]

If you read two sentences after that you'll see this:

A file is defined as being different if its timestamp or size has changed - the contents of the file itself are not compared.

Seems like what you want to me.

[quote="nmccamy"]Something so simple seems so complicated. Here is the xcopy command I use:

xcopy "Source*." "Destination*." /S /D /C /H /R /Y[/quote]

That xcopy command is just as complicated as anything we are talking about in Opus. Let's not confuse complexity with familiarity!

You can run xcopy via Opus if you really want to, but for this I think the Copy UPDATEALL command does what you want already.

Who said it was hard?

Your solutions seem clunky and not quickly applied. The elegant solution I suggested is the simplest, the most intutive, and the fastest way a user could use the UPDATEALL concept.
Why would this be so hard for the software developers to implement? It makes the most sense.

The developers have implemented exactly what you are asking for. You just haven't taken the time to learn how to use it.

Why would calling xcopy, with a DOS window popping up, and with no interactive error handling etc., be less clunky or more elegant? How would setting up an xcopy button be easier than using the command which is already in the program and already has a menu item in the default configuration?

Sorry that I cannot provide a magic button that does what you want without any thought required, but the functionality actually already is there and it's not difficult to use. Start by watching the short video I linked to earlier, then try the Update All command via the menu I mentioned.

That's hilarious... I can't stop laughing!!!

So is there a way to copy newer (not different, but newer) files from local disk to ftp server using dopus functions or some other methods?
This is important because often local configuration files are different from those on remote server and I don't want opus to overwrite them.
Using file name filters is difficult because in PHP Yii framework there are some file with the same name (different locations) that does something completely different and some of them need to be updated and some don't.

This command will copy all new files, and replace all existing files that have older timestamps (leaving existing files with newer timestamps):

Copy UPDATEEXISTING=date Copy WHENEXISTS=skip

(Note that Copy UPDATEEXISTING=date only copies over files if the source file has a newer date. This is different to Copy UPDATEALL which copies over files if the source file has a different date.)

Alternatively, you can use Tools -> Synchronize in "One Way Copy" mode, set to compare "Date (Newer)".

[quote="leo"]Copy UPDATEEXISTING=date Copy WHENEXISTS=skip[/quote]
This one is quite nice. I use it together with file copy filter to omit .svn folders and it works ok.
I tried to use synchronize panel but it seems that filter (set in synchronize panel) doesn't work. It shows that it will copy .svn folders too when I click "synchronize" button.
What is wrong with the filter option?

BTW, does copy filter work together with synchronize panel? I guess it doesn't, and this is why there's "filter" field in synchronize panel.

I just found out that

Argh, it still doesn't work as I wanted.
When synchronizing I set filter to Location, no match
*.svn(*|)
and use wildcards. It doesn't copy files from .svn folders but it creates folders structure on FTP site. So files are not copied but I get .svn/prop-base, .svn/tmp etc. folders in destination folder. I also tried with Full path, but no effect. Can anyone help?