[FEATURE REQUEST:] select duplicates in search result list!

English support forum

Moderators: Hacker, petermad, Stefan2, white

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50824
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Wow, that would really be a very powerful solution, thanks for all the work you put into it! I'm still not 100% convinced: While it makes a lot of sense with only a few files, it would become very complex with hundreds or thousands of directories. A list of preferred directories wouldn't be very helpful in this case, and it would be difficult to define rules which would apply to all the different cases in these subdirs...
Author of Total Commander
https://www.ghisler.com
pierre75
Junior Member
Junior Member
Posts: 13
Joined: 2008-03-29, 12:44 UTC

Post by *pierre75 »

Thank you for your response and your interest.

Yes, indeed, I agree with you. With only a few directories (I guess it's what you meant, because even with a lot of files in a few directories, it's easy to sort the directories), it's easy to sort. But with hundreds of directories, it's a lot harder.

But I'm still convinced that the number of directories will be (in most cases) far smaller than the number of files, and so it will be less work, much safer, and a great help for a lot of users (maybe not 100% of users, but at least more than 50%).

Even if it's not easy in the case of so many directories, it's still easier than doing th job manually. Or at least, it's my opinion. What do you think?

I already thought about this problem, and had some ideas. Like:
- sorting in multiples steps (1st level directories, then some 2nd level directories THAT the user wants to sort also, ...)
- or trying to get ideas from classic sort algorithms
- or using a sort template based on "generic" names found in sub-directories

But I still didn't had time to think about a solution that seems to be OK. It could take some time, because there are so many cases to think about.

However, the only remaining problem is to find a way to quickly sort manually a big "tree" structure, isn't it? I think that it's not impossible to solve, and moreover someone may have thought about such problem. I guess that it's possible to find some solution on Internet. I'll search for this. Or does anyone already have a solution?

More later! Bye for now :)
User avatar
Rein de Jong
Senior Member
Senior Member
Posts: 394
Joined: 2005-01-30, 20:26 UTC
Location: NL
Contact:

Post by *Rein de Jong »

2Christian,

Now we have nothing! A choice is better than no choice. Sometimes I've situations where I would be happy with:

- First dup unselected
- Every other dup selected.

Please?

Make a choice. It could be improved in later releases. Nothing is perfect at start :wink:
Groetjes/
______/Rein

--- Moderator NL-forum ---
zie ook: https://www.reindejong.nl/totcmd
pierre75
Junior Member
Junior Member
Posts: 13
Joined: 2008-03-29, 12:44 UTC

Post by *pierre75 »

:arrow: Rein de Jong I agree that the simplest solution is better than nothing :)
:idea: What about implementing the above solution without implementing the "directories preference order" filter, then? (Or implement the "directories preference order" filter, and wait for the next version to have a better tool - for that special filter - to easily sort thousands of directories.)
pierre75
Junior Member
Junior Member
Posts: 13
Joined: 2008-03-29, 12:44 UTC

"sorting directories" dialog box

Post by *pierre75 »

The idea is to assign a number to each directory. This number will represent(measure) the user's directory preference.

By default, all directories have the preference number '0' (null).

If many directories have the same level, we have a "group" of directories.

For example, at start, all the directories have the preference '0'. It means that all the directories are in the same group (the group '0').

Example:

We have a dialog box with the full list of directories that contain duplicates.

Code: Select all

|- Directories containing duplicates ------------------|
|                                                      |
|  Directory groups :                                  |
|     |---------------------------------|              |
|   0 | c:\bak                          |  [filter..]  |
|     | c:\data_misc                    |              |
|     | c:\download                     |              |
|     | c:\hobby                        |              |
|     | c:\misc_data                    |              |
|     | c:\my_camera_pictures           |              |
|     | c:\my_camera_videos             |              |
|     | c:\my_scanned_pictures          |              |
|     | c:\notes                        |              |
|     | c:\recyler                      |              |
|     | c:\temp                         |              |
|     | c:\temp\abc\                    |              |
|     | c:\unsorted_data                |              |
|     | c:\work                         |              |
|     | c:\work\abc\                    |              |
|     |---------------------------------|              |
|                                                      |
|                                  [ Cancel ]  [ OK ]  |
|------------------------------------------------------|
In the left column, we have the "current preference" (reminder: it's 0 by default).

The button [filter..] will apply a filter on the group on it's left. (There only one group now, so there only one [filter..] button.)

If we push on the button [filter..] then we have a new dialog box:

Code: Select all

|- Filter directories (group preference = 0) --------|
|                                                    |
|   / *GROUP* \  / sort \                            |
|  |----------------------------------------------|  |
|  |                                              |  |
|  |  Select directories :                        |  |
|  |  |---------------------------------|         |  |
|  |  | x c:\bak                        |  [ + ]  |  |
|  |  |   c:\data_misc                  |  [ - ]  |  |
|  |  |   c:\download                   |  [ * ]  |  |
|  |  |   c:\hobby                      |  regex  |  |
|  |  |   c:\misc_data                  |         |  |
|  |  |   c:\misc_data\unsorted         |         |  |
|  |  |   c:\my_camera_pictures         |         |  |
|  |  |   c:\my_camera_videos           |         |  |
|  |  |   c:\my_scanned_pictures        |         |  |
|  |  |   c:\notes                      |         |  |
|  |  |   c:\recyler                    |         |  |
|  |  |   c:\temp                       |         |  |
|  |  |   c:\temp\abc\                  |         |  |
|  |  |   c:\unsorted_data              |         |  |
|  |  | x c:\work                       |         |  |
|  |  | x c:\work\abc\                  |         |  |
|  |  |---------------------------------|         |  |
|  |                                              |  |
|  |  [x] split this group in 2 (selected above)  |  |
|  |  [ ] split this group in 2 (selected down)   |  |
|  |  [ ] move into level [ levels listbox [v] ]  |  |
|  |  [ ] move into new level [               ]   |  |
|  |        after level [ levels listbox [v] ]    |  |
|  |                                              |  |
|  |----------------------------------------------|  |
|                                                    |
|                                [ Cancel ]  [ OK ]  |
|----------------------------------------------------|
This box has 2 tabs allowing to group and sort directories. We choose the first tab called "GROUP".

We choose to create a "group of directories" (reminder: it means many directories with the same preference number). We select 3 directories "c:\bak", "c:\work\" and "c:\work\abc\".

To do select these 3 directories, we can use the TC traditional [+] with "*bak* *work*". Or we could use a regular expression like "^c.*\(bak|work)\". This allows to manage thousands of directories in a few seconds, at least if we can assume that the user had a minimum of organisation while naming/organising his directories.

Other examples: with this, you can manage also all sub-directories of "work" with "c:\work\*", or you can also manage also all directories ending with "work" using "*\work\", ...

Then we choose "split this group in 2 (selected above)" : this will create a NEW group just above the current group (it was the default "group preference" 0). The new group will have a "group preference" equals to '+1'.

Note: if there was already a "group preference" equals to '+1' then TC would set the new "group preference" to '+0.5' ( OR : firstly change the old group preference '+1' into '+2' , and secondly add the new "group preference" '+1')

When we push [OK] we get back to the previous dialog box :

Code: Select all

|- Directories containing duplicates ------------------|
|                                                      |
|  Directory groups :                                  |
|     |---------------------------------|              |
|   1 | c:\work                         |  [filter..]  |
|     | c:\work\abc\                    |              |
|     | c:\bak                          |              |
|     |---------------------------------|              |
|   0 | c:\data_misc                    |  [filter..]  |
|     | c:\download                     |              |
|     | c:\hobby                        |              |
|     | c:\misc_data                    |              |
|     | c:\misc_data\unsorted           |              |
|     | c:\my_camera_pictures           |              |
|     | c:\my_camera_videos             |              |
|     | c:\my_scanned_pictures          |              |
|     | c:\notes                        |              |
|     | c:\recyler                      |              |
|     | c:\temp                         |              |
|     | c:\temp\abc\                    |              |
|     | c:\unsorted_data                |              |
|     |---------------------------------|              |
|                                                      |
|                                  [ Cancel ]  [ OK ]  |
|------------------------------------------------------|
There's now 2 groups, and 2 [filter..] buttons.

We apply a filter again, by clicking the second [filter..] button :

Code: Select all

|- Filter directories (group preference = 0) --------|
|                                                    |
|   / *GROUP* \  / sort \                            |
|  |----------------------------------------------|  |
|  |                                              |  |
|  |  Select directories :                        |  |
|  |  |---------------------------------|         |  |
|  |  |   c:\data_misc                  |  [ + ]  |  |
|  |  |   c:\download                   |  [ - ]  |  |
|  |  |   c:\hobby                      |  [ * ]  |  |
|  |  |   c:\misc_data                  |  regex  |  |
|  |  |   c:\misc_data\unsorted         |         |  |
|  |  |   c:\my_camera_pictures         |         |  |
|  |  |   c:\my_camera_videos           |         |  |
|  |  |   c:\my_scanned_pictures        |         |  |
|  |  |   c:\notes                      |         |  |
|  |  | x c:\recyler                    |         |  |
|  |  | x c:\temp                       |         |  |
|  |  | x c:\temp\abc\                  |         |  |
|  |  |   c:\unsorted_data              |         |  |
|  |  |---------------------------------|         |  |
|  |                                              |  |
|  |  [ ] split this group in 2 (selected above)  |  |
|  |  [ ] split this group in 2 (selected down)   |  |
|  |  [ ] move into level [ levels listbox [v] ]  |  |
|  |  [x] move into new level [ to_delete     ]   |  |
|  |        after level [ 0:normal       [v] ]    |  |
|  |                                              |  |
|  |----------------------------------------------|  |
|                                                    |
|                                [ Cancel ]  [ OK ]  |
|----------------------------------------------------|
When we push [OK] we get back to the previous dialog box :

Code: Select all

|- Directories containing duplicates ------------------|
|                                                      |
|  Directory groups :                                  |
|     |---------------------------------|              |
|   1 | c:\work                         |  [filter..]  |
|     | c:\work\abc\                    |              |
|     | c:\bak                          |              |
|     |---------------------------------|              |
|   0 | c:\data_misc                    |  [filter..]  |
|     | c:\download                     |              |
|     | c:\hobby                        |              |
|     | c:\misc_data                    |              |
|     | c:\misc_data\unsorted           |              |
|     | c:\my_camera_pictures           |              |
|     | c:\my_camera_videos             |              |
|     | c:\my_scanned_pictures          |              |
|     | c:\notes                        |              |
|     | c:\unsorted_data                |              |
|     |---------------------------------|              |
|  -1 | c:\recyler                      |  [filter..]  |
|     | c:\temp                         |              |
|     | c:\temp\abc\                    |              |
|     |---------------------------------|              |
|                                                      |
|                                  [ Cancel ]  [ OK ]  |
|------------------------------------------------------|
There's now 3 groups, and 3 [filter..] buttons.

And after some steps ...

Code: Select all

|- Directories containing duplicates ------------------|
|                                                      |
|  Directory groups :                                  |
|     |---------------------------------|              |
|  +3 | c:\work                         |  [filter..]  |
|     | c:\work\abc\                    |              |
|     | c:\bak                          |              |
|     |---------------------------------|              |
|  +2 | c:\my_camera_pictures           |              |
|     | c:\my_camera_videos             |              |
|     |---------------------------------|              |
|  +1 | c:\hobby                        |  [filter..]  |
|     | c:\my_scanned_pictures          |              |
|     | c:\notes                        |              |
|     |---------------------------------|              |
|   0 | c:\data_misc                    |  [filter..]  |
|     | c:\download                     |              |
|     | c:\misc_data                    |              |
|     | c:\misc_data\unsorted           |              |
|     | c:\unsorted_data                |              |
|     |---------------------------------|              |
|  -1 | c:\temp                         |  [filter..]  |
|     | c:\temp\abc\                    |              |
|     |---------------------------------|              |
|  -2 | c:\recyler                      |              |
|     |---------------------------------|              |
|                                                      |
|                                  [ Cancel ]  [ OK ]  |
|------------------------------------------------------|
If you click on the 2nd button [filter..] ( on the right of "c:\hobby", "c:\my_scanned_pictures" and "c:\notes" ) then you have :

Code: Select all

|- Filter directories (group preference = +1) -------|
|                                                    |
|   / group \  / *SORT* \                            |
|  |----------------------------------------------|  |
|  |                                              |  |
|  |  Sort directories :                          |  |
|  |  |----------------------------------------|  |  |
|  |  |_name_(v)___________|_date_____|_size___|  |  |
|  |  |                    |          |        |  |  |
|  |  | c:\hobby           | 23/12/07 |  18751 |  |  |
|  |  | c:\my_scanned_pic..| 10/04/08 | 997671 |  |  |
|  |  | c:\notes           | 09/04/08 |     72 |  |  |
|  |  |                    |          |        |  |  |
|  |  |                    |          |        |  |  |
|  |  |                    |          |        |  |  |
|  |  |----------------------------------------|  |  |
|  |                                              |  |
|  |  Currently selected directory : [up] [down]  |  |
|  |                                              |  |
|  |----------------------------------------------|  |
|                                                    |
|                                [ Cancel ]  [ OK ]  |
|----------------------------------------------------|
This time, we choose the second TAB called "sort".

We can sort on "name", "date" or "size" (ascending/descending) and/or adjust the sort order with [up] [down].

With this functionality, the preference order is known, and so each directory has a different "preference number". Consequently, this will create as many groups as directories (in this example, 3 groups of 1 directory).

Code: Select all

|- Directories contining duplicates -------------------|
|                                                      |
|  Directory groups :                                  |
|     |---------------------------------|              |
|  +5 | c:\work                         |  [filter..]  |
|     | c:\work\abc\                    |              |
|     | c:\bak                          |              |
|     |---------------------------------|              |
|  +4 | c:\my_camera_pictures           |  [filter..]  |
|     | c:\my_camera_videos             |              |
|     |---------------------------------|              |
|  +3 | c:\hobby                        |              |
|     |---------------------------------|              |
|  +2 | c:\notes                        |              |
|     |---------------------------------|              |
|  +1 | c:\my_scanned_pictures          |              |
|     |---------------------------------|              |
|   0 | c:\data_misc                    |  [filter..]  |
|     | c:\download                     |              |
|     | c:\misc_data                    |              |
|     | c:\misc_data\unsorted           |              |
|     | c:\unsorted_data                |              |
|     |---------------------------------|              |
|  -1 | c:\temp                         |  [filter..]  |
|     | c:\temp\abc\                    |              |
|     |---------------------------------|              |
|  -2 | c:\recyler                      |              |
|     |---------------------------------|              |
|                                                      |
|                                  [ Cancel ]  [ OK ]  |
|------------------------------------------------------|
You could still sort the "group 0" by size descending, for example. This would help to select duplicated files that are in the smallest directories.

Done!

Of course, if the user leaves groups of directories (= same preference for directories in that group), TC will be unable to be unable to choose between 2 identical files in 2 directories of that group.

That's the reality, sometime it's impossible to say if a directory is better than another.

It's the role of the other "filters" to (un)select the remaining duplicates (Reminder: the "directory filter" described in this post is only 1 of the filters of the "selection tool", see previous posts.)

What do you think about this?
pierre75
Junior Member
Junior Member
Posts: 13
Joined: 2008-03-29, 12:44 UTC

Post by *pierre75 »

Still no reply?

I don't understand why there's still no "quick selection tool" for the duplicated files list.

You've already made 90% of the job, but the list of duplicated files that you display is unusable without a tool to quickly (un)select files in the list.

This tool would transform TC in a really (or even more) indispensable tool ! ;)
User avatar
chrizoo
Senior Member
Senior Member
Posts: 351
Joined: 2008-03-12, 02:42 UTC

Post by *chrizoo »

-
What is the status of this feature request? Many users have put forward suggestions. Has any of them been implemented during these almost 3 years? Or is there still no way to select duplicates?

Most of the TC users participating in this poll here http://ghisler.ch/board/viewtopic.php?t=18728 were hoping to see a solution one day, so I thought I'd politely bring up the issue again.
HAL 9000
Senior Member
Senior Member
Posts: 384
Joined: 2007-09-10, 13:05 UTC

AllDup has an easy to use select feature

Post by *HAL 9000 »

AllDup has an easy to use select feature, it allows sorting by directory name, and then deselecting first file and SELECTING ALL OTHER FILES :)


http://www.allsync.biz/en_alldup.htm
FrankyBkk
Junior Member
Junior Member
Posts: 13
Joined: 2011-01-16, 22:02 UTC
Location: Bangkok

Search (Alt-F7) and feed the found files listbox, no duplica

Post by *FrankyBkk »

I have a simple question for Mr. Ghisler, the genius who wrote this holy tool.

I was already a user of the Dos-version from the Norton COmander.

But then came the Windows Commander, which got renamed to Total Commander.

The name is ok, but this tools is not "total".

But it is very very good.

- - -
Search with Alt-F7, feed the listbox with all results, BUT without douplicates ...

So, now my question:

Mr. Ghisler said that he dont program this option because he does not know which of the doublicates should be hidden.

If have a simple answer: Who cares!
Example: I want to make a VLC Player Play list, and use the TC for it.

I select (a special service for the users of the TC: *.avi *.flv *.mkv *.mp4 *.wmv *.3gp *.asf *.m4v *.mov *.mpeg *.mpg *.rm *.rmvb *.webm) all movie fomrats.

All what I want is to use this files passive. SO it is unimportant which file of the doubles are hidden.



- - - - - - - - - - - - - - -

Another Thank you to all of you (Your answers helped me many times):
I wrote a selection of exclusions in Google Images, that the most annoying Companies get excluded.

Just add this after the search word, please do not change the spaces.

-123rf -depositphotos -logos.co
-graphicsfactory -clipart-box -clipartclipart -picturesof -hitton -stock -colourbox
-dreamstime -fotosearch -fotolia -pinterest -clipartof -tattoopinners
-presentermedia -all-free-download -thinkstockphotos -gettyimages
-zoonar

Just copy and paste and the image results in Google Images will be nearly clean.
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Re: Search (Alt-F7) and feed the found files listbox, no dup

Post by *Peter »

Hi FrankyBKK
FrankyBkk wrote:I have a simple question for Mr. Ghisler...
...So, now my question:

Mr. Ghisler said that he dont program this option because he does not know which of the doublicates should be hidden....
I can not find a question in your posting ...
I see your opinion, but I would say pros and cons are already discussed. If you add one of the discussed tools everything would be fine for you.
TC 10.xx / #266191
Win 10 x64
Post Reply