<AddOn> Update: MultiCopy to TAB v5.8/25 Sep 2010

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Stefan2, white, sheep, Hacker

Post Reply
eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

<AddOn> Update: MultiCopy to TAB v5.8/25 Sep 2010

Post by *eitang » 2009-07-27, 20:34 UTC

Hi all,

25.9.2010 : Version 5.8.0.0 !!

-- Added MRU for copy "projects"

Right-Clicking on either of the *** (sources / targets) used to open a file selection list.

Now, the destination's *** does the same thing, but the source's *** displays the X last used copy "projects". X is, OF COURSE, user configurable <G>

Download Latest (v5.8.0.0) CopyToTabs

Eitan Gilboa

11.6.2010 : Version 5.7.0.0

-- Added "View Volume Names" window
-- Help texts updated accordingly.

Download Latest (v5.7.0.0) CopyToTabs


27.9.2009 : Version 5.6.1.0

-- Added "forced copy" even when the program thinks it is not appropriate
-- Added Load list WITHOUT loading "sister" list.
-- Help texts updated accordingly.

[Details at the announcement, at the end of page 8]

Download Latest (v5.6.1.0) CopyToTabs

16.9.2009 : Version 5.6.0.5
-- Bug fixes
-- Updated and enlarged HELP both in English and French

9.9.2009 : Version 5.6.0.0
-- Added Automatic change of ALL drive letters in ALL the TABs in a folder

3.9.2009 : Version 5.5.2.0
-- Added Automatic load of "sister" list (no need to load twice)
-- All dialogs are now inside the main screen
-- Improved HELP.

[Always SAME link to Download]

I wrote a Delphi (v5.0) program that reads a saved *.TAB file and also a file containing the 'result' of a cm_CopyFullNamesToClip.

It is bi-lingual, French and English. User selectable. 170K.

The full help texts (French and English are below).

The program then proceeds to copy all of the latter files to all of the former destinations.

Of course you can manually edit any of the lists and save them under any name for future use.

The last files and language used are automatically loaded upon program startup (saved in the INI).

The program is fully bi-lingual (French and English). Help and hints all over the place.

It is a single EXE, 170K in size.

I also wrote a small app that looks in all DEFAULT**.bar in TC' folder looking for an EXE file...(even partially named).

I have three bars and some EXEs I don't even remember their names, so looking for *note*.exe is done by the program, (finding notetab++.exe, EG_Notes.EXE etc.) and it even proposes to run one (and only one) of the found instances.

Link to CopyToTabs:
Download Latest (v3.5) CopyToTabs

Link to Tc_But_Exe:

Download Tc_But_Exe

There are around 30+ other freewares on my site (in my signature)
Last edited by eitang on 2010-09-25, 09:29 UTC, edited 43 times in total.
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom » 2009-07-28, 01:52 UTC

FYI, I would edit your post, and change the "Subject:" to something along the lines of:
TOOL: Copy Files to Saved TAB File

Also, proper use of url tag ( if you care :-) )

Code: Select all

[url=http://perso.wanadoo.fr/eitang/files/copytotabs.zip]Download CopyToTabs[/url]
Then just mention the other utilities as you have. You'll garner more interest that way, than using a non-descript Freeware Utilities thead.

The tool is a bit awkward though...
The window can't be resized,
It doesn't remember if you chose English previously
Requires ~4 steps to get the files to the tabs,
CopyFullNames to Clip,
Open an editor,
Paste, save to a .LST file,
save opened tabs to a tab file
CopyToTabs: change directory to where .LST is
CopyToTabs: change directory to where .TAB is

Possibly save out an ini file, remembering your language, .LST directory and .TAB directory.

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-28, 14:27 UTC

Balderstrom,

Thank you for your comments. By now most complaints are corrected:

>> The window can't be resized,
Now it Can.

>> It doesn't remember if you chose English previously
Now it Does.

>> Requires ~4 steps to get the files to the tabs,
>> CopyFullNames to Clip,
... Or Ctrl-A

>> Open an editor,
Or paste directly into the Memo... Ctrl-C

>> Paste, save to a .LST file,
Alt-RightClick on the Memo Saves it

>> save opened tabs to a tab file
Alt-RightClick on the Memo Saves it

>> CopyToTabs: change directory to where .LST is
>> CopyToTabs: change directory to where .TAB is
Not if you save both in CopyToTab's directory, which I recommend in the included help.

>> TOOL: Copy Files to Saved TAB File

Done, and thank you!
Last edited by eitang on 2009-07-28, 14:40 UTC, edited 2 times in total.
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-28, 14:32 UTC

The Help: ENGLISH
To return to the program Double Click this text. F1 Opens the Help text.

Use Ctrl+ Numeric-Pad's + and - to increase and decrease font size

The program is Billingual, French and English. Click the flags to check.

To get a list of ALL the open tabs' paths (directories):
a. Open all of them in one of TC's panels
b. Right Click on any of them and select "Save tabs to File"
c. I recommend saving the file with a significant name in The CopyToTabs
application folder. That's all.
To get a list of all selected files in a TC panel:
a. Run the Internal TC command "cm_CopyFullNamesToClip" By either creating a Button
on the Button Bar, OR Typing this command into the command line at TC's bottom.
You can also use the command: "cm_SaveSelectionToFile" to save directly.
b. After that you can save it as a text file with any extension
But I recommend .LST, in the same Folder as the TAB file
(not necessary; but best) i.e. the CopyToTabs application folder.
Doing it this way you can have as many named groups of TAB and LST combinations
for making easy backups.

Program's Behaviour

An INI file is kept in the application's folder, containing the program's language,
The last used TABs file and the last used LST file.
The INI file is opened at program start and all is executed, if possible. The lists
are used and you can click the Start Copy button. You can change the files and lists
in both sides by clicking the ... buttons.

You can change font size in both lists. It is not needed, but if you desire...

Escape Exits the program. F1 opens the Help Text. Double Click to close it.

----- Warning - If the RadioButton group is set to OverWrite:
Since the program is mainly meant for backup purposes, I originally did not take
into account the possible existence of similarly named files in the destination
and they will be overwritten no questions asked...
Hence the warning under the "Start Copy" button. Later I added the option to SKIP
existing files, in which case the number of skipped files displays, and the warning
disappears.
-----

You can "edit" both lists. Alt+Right-Click will re-Save each after modification.
Use this feature to create yout own file files lists and folders destinations
without needing Total Commander's help.

If a destination directory does not exist for some reason, you are given the
possibility to CREATE such a directory, OR skip this destination, on a special form.
If you skip this destination, then all other destinations will continue the copy
operation. If you specify a new Non-Existent directory, the dialog continues...
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-28, 14:33 UTC

The Help FRENCH

Pour revenir au programme principal Double-Cliquez ce texte. F1 Ouvre l'Aide.

Utilisez Ctrl+ le + ou le - du pavé numérique pour aggrandir / diminuer ce texte d'aide

Le programme est Billingue, Français/Anglais. Cliquez sur les drapeaux correspondants.

Pour obtenir la liste de tous les onglets ouverts dans une fenêtre de TC
(les répertoires des onglets):
a. Ouvrez-les tous dans une fenêtre de TC
b. Clic droit sur un onglet quelconque et choisissez "Save tabs to File"
c. e recommande de sauvegarder le fichier avec un nom significatif dans le
répertoire de cette application, CopyToTabs. C'est tout.
Pour obtenir la liste de tous les fichiers sélectionnés dans une fenêtre de TC:
a. Éxécutez la commande interne de TC "cm_CopyFullNamesToClip" Soit en créant un
bouton dans la barre des boutons, OU en tappant cette commande dans la ligne
de commande de TC. Vous pouvez aussi utiliser la commande:
"cm_SaveSelectionToFile" qui l'enregistre d'office dans un fichier
que vous spécifiez.
b. Après cette opération la liste est stockée dans le presse-papier et vous pouvez la
sauvegarder dans un fichier texte. Je recommande l'extension .LST, et de mettre ce
fichier dans le répertoire du fichier TAB, c.a.d. celui de cette application,
CopyToTabs.
Agir de cette manière vous permet d'avoir autant de couples "sources-destinations" que
vous souhaitez pour créer des sauvegardes rapides et faciles.

Comportement du programme

Un fichier INI est maintenu dans le répertoire du programme, avec la dernière langue
utilisée,et les derniers fichiers utilisés pour TABs et LST.
Ce INI est lu au démarrage et les trois lignes sont appliquées, si possible
Vous pouvez simplement clicker sur "Démarrer La Copie". Vous pouvez changer les
fichiers et listes utilisés des deux côtés en cliquant le bouton ... de chaque côté.

La taille des fontes dans les deux listes est variable. Aucun intérêt sauf votre confort.

Echap Sort du programme. F1 ouvre le texte d'Aide. Double Click Le ferme.

----- Avertissement: (Si les boutons-radio ont "Ecraser" de coché)
Le but principal du programme étant la facilité d'effectuer des sauvegardes fréquentes,
initialement je n'ai pas considéré des fichiers qui seraient dèjà présents sur la destination.
De tels fichiers seront remplacés d'office par ceux que vous êtes en train de copier,
sans considération de leurs dates de modification, SAUF si "Sauter" est coché. Dans ce
cas le nombre des fichiers ainsi "sautés" est afficher et l'avertissement disparaît.
-----

Vous pouvez "éditer" les deux listes. Alt+Click-Droit re-sauvegarde les fichiers
modifiés. Utilisez cette possibilité pour créer vos propres listes de fichiers et
listes de destinations sans avoir recours aux services de Total Commander.

Si un répertoire de destination n'existe pas (plus?), Vous avez la possibilité de corriger
et/ou de CRÉER un tel répertoire, OU d'abandonner cette destination, dans une petite fenêtre.
Si vous abandonnez (=Annulez) l'operation, les autres destinations continueront a être mises
à jour. Si vous spécifiez une nouvelle destination, la liste sera modifiée. Pensez a la
sauvegarder. Si votre nouvelle destination est encore non existante, ce dialogue continu...

Vous pouvez "éditer" les deux listes. Alt+Click-Droit re-sauvegarde les fichiers modifiés.
Utilisez cette possibilité pour créer vos propres listes de fichiers et listes de destinations sans avoir
recours aux services de Total Commander.
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom » 2009-07-28, 20:27 UTC

If you are you able to make CopyToTabs accept arguments, then a number of the initial prepatory steps are negated.

Example: Put CopyToTabs.exe into your saved tabs folder.
CopyToTabsICON (on ButtonBar)
Command: %APPDATA%\SAVE\TABS\CopyToTabs.exe
Parameters: %P%S
* Select files you want to copy,
* Press CopyToTabs Button: the files with full path are handed to CopyToTabs,
* Select the TAB file (To Copy to)

And if it can accept arguments, then it could function without GUI confirmation as well, along the lines of:

Command: %APPDATA%\SAVE\TABS\CopyToTabs.exe /TAB=FOO.TAB

Then its just a matter of saving your FOO.TAB file, and pressing the CopyToTabs Icon on the ButtonBar.

As a proof of concept, I wrote a CMD.exe batch file that does something like this, but it fails to copy to unicode target paths within the FOO.TAB file. And since I have so many Directories like:
C:\$A$\$_APPS_\†_FileUtils\, it completely chokes on those hehe.

tcvol
Junior Member
Junior Member
Posts: 66
Joined: 2009-02-02, 12:35 UTC

Post by *tcvol » 2009-07-29, 07:51 UTC

reading this thread twice, i have still no clue what this tool does.

let's try.

purpose:
you can select specific files on a pane (e.g. left pane) and copy those selected files to a directory, which is specified by a .tab file.

advantage:
you don't need to have the other pane (target) pointing to the desired directory.

is that correct?

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-29, 13:51 UTC

Balderstrom,

Wonderful idea!

Of course I can read parameters. I'll have a serious look at Your proposition. I need to receive the files list in the parameters, and the TABs' folders-list file.

tvcol,

You are partly right. It is better than your current understanding...

Of course, the main purpose of this program is for repetitive tasks, like backups to multiple directories.

For a one time use, you'd better use TC's possibilities, IMHO.

Once you have defined a file list and a tab list:

a) You do not need to have ANY pane in view

b) of course you do not need to create LNK files <g>

c) Yopu do not even need TC to run!!!
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-29, 16:01 UTC

Balderstrom,

>> Parameters: %P%S

Hmmm... not really enough. BUT (after plunging in TC's Help):

I added the necessary code for reading command line parameters, as per your great suggestion. The program is already uploaded to my site.

Download the NEW CopyToTabs

Good parameters are:

Code: Select all

Command:    "%commander_path%\CopyToTabs\CopyToTabs.exe"
Parameters: %T%M %P%S
Start PAth: %commander_path%\CopyToTabs\

Code: Select all

%T%M =  TARGET Pane folder (path) + TAB File under cursor on TARGET window
[There is a one space between %T%M and %P%S. I am not sure it is really needed.]

In detail:

%P causes the source path to be inserted into the command line, including a backslash (\) at the end.
%S insert the names of all selected files into the command line. Names containing spaces will be surrounded by double quotes
---
%T inserts the current target path. Especially useful for packers
%M places the current filename in the target directory into the command line

Explanation: %T%M %P%S will pass to my application the full path of the TAB file first, and then all the pointed-to source files.

So the order in which things happen IS important, so as to keep SOURCE and TARGET paths correctly.

Code: Select all

Work Flow:
1) Mark files to copy in SOURCE window
2) Create a TAB list file in the TARGET pane or
3) MARK the TAB in target pane in red.
4) Press TAB to return to SOURCE pane. This is VERY important.
5) click the CopyToTab icon on the buttonBar !!!
You can then save (Alt+RightClick on the Memo) the Sources Files list. It is named by default "Automatic.LSt" but not is NOT saved.

Of course, the program will still load the last config and list files of the last session if no parameters are passed to it.
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom » 2009-07-29, 18:35 UTC

One small bug that I see, otherwise seems to be working well - aside from no resizeable window: but I only really notice that as I'm working from a backup Graphic card atm, which has a max resolution of 800x600.

BUG: When the .tab file is loaded, the list of Target directories is displayed. (This is an editable list).
If you delete one of the directories (leaving a blank line), and select "[x] Create if needed" when the Folder dialog pops up, then the program stalls and does not complete any remaining copy operations. The Mouse pointer remains an hourglass symbol.

The above does not happen, if you delete a folder from the Target list, and also BackSpace (to remove the blank line) OR choose [x] Skip this copy operation -- but with the latter, CopyToTabs will popUp the CreateFolder confirmation for each blankline in the Target list.

Solution: CopyToTabs should skip EmptyLines (Carriage Returns) in either the SourceFiles or TargetFolders lists.

I don't recall how to check for carriage in Pascal, might be as simple as IF ( FOO == "\n" )

Otherwise working well 8)

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-29, 19:37 UTC

Balderstrom,

Many many thanks for your report !

>> Solution: CopyToTabs should skip EmptyLines

Thanks. It is easier to remove the empty line <G> Also it will not be saved to an eventual file.

I'll correct this asap.

thanks again.
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-29, 20:08 UTC

Balderstrom,

Thanks again, and:

All is corected and re-posted

Download Corrected CopyToTabs

What I finally do is just before the copy starts I "clean" both lists of empty lines...
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom » 2009-07-30, 05:11 UTC

In general, I believe the functionality of Copy To Tabs is more useful than Copy to Selected Shortcuts.

Copy Files to Selected Shortcuts requires you to create shortcuts to every Folder - multiple shortcuts that you'll likely not even use for anything else. Whereas Copy to Tabs, allows you to have a single TAB file for multiple directories.

You can even just generate a FAKE Tab file yourself, without having to open all the directories first to generate a Tab file, i.e this worked for me:
0_path=C:\Program Files\TotalCMD\TCTEMP\
0_path=C:\Program Files\TotalCMD\TCTEMP2\
0_path=C:\Program Files\TotalCMD\TCTEMP3\
Which if you use a regex aware text editor, could just paste in FullPath of directories in question to a text file, then Search/Replace:
Find Text: ^
Replace:: 0_path=
Save as something like, DirListX(Fake).TAB

Then do:
1) Select Target .TAB File
2) Select Files you want to Copy (in other Pane)
3) Click CopyToTabs on ButtonBar
4) -> START COPYING (within CTT interface).

OR If you want to Copy Files to all your currently open tabs, create/save a TAB file - without having to generate shortcuts to each open TAB.

eitang
Senior Member
Senior Member
Posts: 246
Joined: 2003-05-19, 20:08 UTC
Location: France
Contact:

Post by *eitang » 2009-07-30, 07:02 UTC

Balderstrom,

>> I believe the functionality of Copy To Tabs is more useful than Copy to Selected Shortcuts

Absolutely. Another reason the LNK fails is that if you use many USB drives/sticks, their letters CHANGE...

In the other subjects I started about the CTT vs. the LNK method, I had a discussion even with Ch. Himself about that. I have asked him a very long time ago to implement a 'copy to open tabs'. He said he had considered it and decided against it.

This is the reason I wrote it myself, and the result is even better because:

a) You don't even need TC (although it can be very helpful)
b) You need no open tabs for it to work.
c) You can write your own backup "couples", as you just pointed out.

BTW, when CTT writes/saves the .TAB file, it adds the _path_ string to each line... (this avoids different checks upon opening). Of course these are no longer 'licite' files for TC as I stripped the other lines off.



Thank you again.
Best Wishes,

Eitan Gilboa (License #: 17011)
URL: http://perso.wanadoo.fr/eitang

User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom » 2009-07-30, 08:55 UTC

Yeah, I just noticed that buried in the help file near the end:
You can "edit" both lists. Alt+Right-Click will re-Save each after modification.
Use this feature to create yout own file files lists and folders destinations
without needing Total Commander's help.
[SaveLST] / [SaveTAB] buttons might be helpful to expose that feature.

BUG: If you ALT+RightClick in the File List, the popup Asks if you want to save out the Automatic.LST, Then the Automatic.LST is saved with the contents of the Tab List. Both sides now display Folders.
========

Note, it is misleading to let the user save a TAB file, that is not valid for TC to open. So perhaps one of the following:
1a) The popUp for saving the TABFile should indicate it is NOT a valid TC Formatted TAB file.
1b) AND/OR display the file to save with a .CTT extension.
2) OR Just save a valid .TAB file, you could use "#_options=1|3|1|0|0|0|0" as the default.
Last edited by Balderstrom on 2009-07-30, 08:56 UTC, edited 1 time in total.

Post Reply