Page 1 of 1

[Wish] Copy with subdirs after Find in Files (Alt-F7)

Posted: 2009-03-18, 17:48 UTC
by pjotrb
Hi,

Sometimes I want to copy just a handful of files. Problem is... the source drive contains 10000+ files, in 100s of deeply nested directories.
I can easily find the files using Alt-F7 (e.g. last modified today + find text in file + attribute); but then I am stuck because there is no way to copy the files including their paths.
I can feed them to a listbox, but choosing COPY from that listbox ignores the paths while copying. Ctrl-C / Ctrl-V does that too.
Also Synchronize Dirs does not have a search option with the same power as Alt-F7; and Synchronize Dirs refuses to work with a 'Feed to Listbox' result set.

So what I would like is either...

... integrating all the features of the "Find Files" window in the Copy window (F5); this might be a lot of work!

... integrating all the features of the "Find Files" window in Synchronize Dirs; this might also be a lot of work!

... integrating a Copy with Subdirs option in the Find Files window (Alt-F7); this may not be intuitive, because there is no target file panel.

... or probably the easiest solution: make Copy (F5) a bit smarter, so after Feed To Listbox there is an option to substitute the Search 'root' path with the Target Panel path for every selected file in the listbox.
Showing the Search 'root' path in the Panel caption after Feed to Listbox would be useful, because Find Files allows to deviate from the (original) File Panel path. You might even consider stripping the Search 'root' path when displaying each file; better than repeating the same (often long) piece of text for every file, in my opinion.

You will probably recognize the importance of not using entire file paths while copying. Still here is an example:
The source files may be in c:\dev\project\ (and nested from there) while the target could be x:\wwwroot\ (and then nested from there).
If I start my search from c:\dev\project\, and then Feed to Listbox, the Copy operation should not create x:\wwwroot\dev\project in the target drive. Instead it should translate the Search 'root' path to the Target path, much like the regular Copy (F5) does when copying from one panel to the other.

If a 'translated' target directory does not yet exist, it should of course be created.

This would probably become very complicated when searching multiple separate dirs or even drives. It would be quite hard - both for you and for us users - to oversee how paths would be translated during the copy operation. So I'd say, only supporting this for a single search path (no ";" present) would be fine.

Oh, and despite the long description, this might not really be that hard to build. So, could you have this ready then by next week please :lol:

Bye,
Peter

Posted: 2009-03-18, 20:17 UTC
by Calvin
Hi Peter,

i think you can do what you want by using TreeCopyPlus.
See: http://www.totalcmd.net/plugring/TreeCopyPlus.html

It installs as a packer, so select your files from your branch view or search results and 'pack them' (<alt><F5>). Choose TreeCopyPlus as your packer. If necessary choose configure to set the number of upper levels to exclude.
and go!

HTH!

Posted: 2009-03-27, 20:40 UTC
by pjotrb
Thanks, it does work, but not as straightforward as I would like. The paths that I have to work with can be 5 to 20 or more levels deep, so now I have to count them very carefully everytime.

There must be a better solution... see above!

Posted: 2009-03-28, 02:28 UTC
by van Dusen
2pjotrb

Try this:

1. Define your search criteria in the "Find Files" dialog (<Alt><F7>)

2. Go to "Load/Save" tab in the "Find Files" dialog, click on "Save" button and save your search criteria set as "CopyCriteria" (just a name suggestion). Cancel the "Find Files" dialog.

3. Call the copy dialog (<F5>) and enter ">CopyCriteria" in the "Only files of this type" combobox or select it from the dropdown list. Start copying.

Only files, which matches the search criterias defined in the search criteria set "CopyCriteria" will be copied - with path! Disadvantage (?): The full directory structure will be created in the target dir: If no file matches the search criteria in a certain source directory, an empty directory will be created in target dir anyway. You can overwrite your search criteria set each time you need to change the criterias using the "Find files" dialog.

Posted: 2009-08-17, 12:37 UTC
by Luke_Filewalker
Agree with pjotrb. My workaround for this job is also using the sync-dirs feature. But as pjotrb said: it has not the same power like Alt+F7. I'm using synchronize-dirs everyday and i don't want miss this feature, but it is not the right solution for THIS job.

So a simple additional copy-what-you-see-with-relative-paths-option in the standard copy dialog can help a lot.

Posted: 2010-05-20, 06:26 UTC
by hysk
Luke_Filewalker wrote:Agree with pjotrb. My workaround for this job is also using the sync-dirs feature. But as pjotrb said: it has not the same power like Alt+F7. I'm using synchronize-dirs everyday and i don't want miss this feature, but it is not the right solution for THIS job.

So a simple additional copy-what-you-see-with-relative-paths-option in the standard copy dialog can help a lot.
Try this?
1.Alt+7->search->feed to list
2.select all files in list
3.zip them to a file, select "Recursively pack subdirectories"
4.un-zip to the destination, selcet "unpack path names if stored with files"

I know this would be stupid... :oops:

Posted: 2010-05-30, 18:37 UTC
by Heppchen
hysk wrote: Try this?
1.Alt+7->search->feed to list
2.select all files in list
3.zip them to a file, select "Recursively pack subdirectories"
4.un-zip to the destination, selcet "unpack path names if stored with files"

I know this would be stupid... :oops:
This is not stupid, this is a workaround I always use :)

If the files are larger I set the compression rate to none to speed up the ZIP process.

Regards,
Heppchen