Compare Folders / highlight differences

I am trying to create a function that would allow me to compare the list of subfolders in two different folders. I would like to compare foldernames only and automatically highlight in each window the folders that are unique / different.

The WinDiff button in 'Downloads'works along these lines but it seems as if this should be doable with native DOpus commands.

The Synchronize tool in Opus is the only internal thing that does that kind of thing, but I'm not sure if you can tell it to ignore all files and only show directories.

You could try a filter which only matches the Folders Only filetype, but it didn't seem to work for me. (I didn't try for long, though.)

Hey... responded to this first in the duplicate topic opened in Features & Requests... maybe it should be consolidated :slight_smile:.

Hey Nudel, can you comment on whether or not you know of any problems with some of the dual-pane/flat-view/Select option usage I mentioned over there? Maybe you might know right off the top of your head any reasons why trying a bunch of combinations of those commands might not work?

Oops, I deleted the duplicate topic. It only had the initial post when I clicked the button but I guess you added your reply at the same time so it's lost. :frowning:

What was the question?

LOL... woopsy... race you to the delete/submit button!

Anyhow... I tried the Sync utility also and found that using a folders only filter didn't do the job. On a side note- it actually didn't report any differences either when I ran the "compare" on different folder structures? Weird.

What I was wondering might be possible was to set up a button to run something like what I just tried from a CLI prompt after opening a dual-pane lister to 2 different but similar folder structures I tried to 'compare':

set flatview=grouped
select all
select none
**** TAB ****
select invert
**** TAB ****
select invert

Where you see TAB, I had to manually break out and hit tab to switch focus to the destination lister - how to do this via commands? Go swap doesn't do the trick because the original source pane remains in focus/active...

Also, I used 2 folders with ONLY folders underneath - no files. I haven't yet used file/folder display filters - so not sure what command to use to do this at the beginning...

But what you should get out of this when it's done is only the folders that don't have 'same-name' counterparts from side to side selected...

There's a trick you can use along with dopusrt to make subsequent dopusrt lines use the opposite lister. For example, this will parent both sides of a dual lister:

dopusrt /CMD Go Up
dopusrt /CMD Set STATE=Dest
dopusrt /CMD Go Up
dopusrt /CMD Set STATE=Dest

So that kind of thing may solve your TAB problem.

I think your idea of using Flat Mode and Select SourceToDest is good but one problem may be that it may not work as expected work when the hierarchy contains two folders with the same name.

In my experience, Select SourceToDest just selects the first item with the same name in the destination that it finds, ignoring additional items with the same name and also ignoring the location column (if any). Which is fair enough since it's doing what it's supposed to do and it's never been a real problem for me. But if you want to do things like this then maybe it's worth filing a feature requst for Select SourceToDest to consider the complete relative paths from each side as a starting point when in flat mode... Of course, sometimes you really would want the existing behaviour so it'd have to be an argument, I suppose... And maybe it's become a tad too esoteric to be worth GPSoft's time... But you can always ask. :slight_smile:

Yeppers... with multiple folders of the same name spread throughout one of the folder structures, only the 'first' is matched and selected just like you said Nudel... thanks for the heads up dude!

Sorry Elastichos... but it looks like there might not be a way, maybe someone else has an idea or two, but I'm curious if maybe the better way to go along the lines of 'requests' to GPSoft might be to get the synchronize utility to work in this way if a 'Folders Only' filter is set... and also to give it a 'Compare: name' option as well.

Thanks for the help and suggestions guys.

Sorry about the dual posting, my bad.

I was able to get the Sync utility to work like I wanted, when comparing flat directory structures. That will definitely help.

My bigger problem is something I think others must occasionaly run into. I store stuff on two machines in similar folder structures, but I just drop stuff at random on each system. Later I come back and reoganize and folder the material on one of the machines. Now I have most of the same files on both systems but the folder structure isn't exactly the same. (i know, i've got other issue here ...)

From there, I'd like to flaten the folders, compare and copy unique items between the machines.

I haven't been able to make that work reliably with the 'compare' command or the Sync utility.

I thought I could solve the problem by creating a file collection for each set of folders / files and perform a sync-compare between the collections. But that doesn't appear to be an option.

Is there a way to make that approach work?

I'll think about making a feature request. This is one of my main file management issues and I haven't found any product out there that can solve the problem. But, Dopus works so great for everything else I can work around this problem in the mean time.