bouton raccourci synchronisation de répertoire

French support forum

Moderators: white, nsp, Stefan2

Post Reply
octrazer
New Member
New Member
Posts: 1
Joined: 2004-11-29, 08:50 UTC

bouton raccourci synchronisation de répertoire

Post by *octrazer »

Bonjour,
Je voudrais savoir s'il est possible d'ajouter un bouton synchronisation de répertoire avec les paramètres. j'ai trouvé la commande du bouton cm_FileSync mais je ne sais pas comment rentrer les paramètres.
User avatar
franck8244
Power Member
Power Member
Posts: 703
Joined: 2003-03-06, 17:37 UTC
Location: Geneva...

Post by *franck8244 »

A ma connaissance, il n'existe que deux ou trois commande interne de TC (cm_xyz) acceptant des paramètres.

Il est peut être possible de réaliser ce que vous voulez par l'intermédiaire de TCSript editor.

Quels paramètres voulez vous entrer ? (noms des répertoires, options de comparasion,...)
TC#88260 -
User avatar
ben hub
Member
Member
Posts: 132
Joined: 2003-02-06, 21:47 UTC
Location: Madagascar

Post by *ben hub »

ah que c'est une bonne question ;)

je me la suis posée il y a qq jours pour synchroniser des répertoires entre une clé usb et un serveur.

le but : envoyer en paramètres les deux répertoires sans avoir à les afficher dans les deux fenêtres de TC.

l'idée de base : un répertoire en paramètre, l'autre en chemin. Les options, je veux bien les paramétrer dans le comparateur, je cherche pas à tout automatiser, j'aime bien maîtriser ce qui se passe.

eh ben, ça marche pas :(, ni pour l'un ni pour l'autre. cm_FileSync s'obstine à ne considérer que les deux fenêtres actives de TC.

TCScript editor, j'ai jamais eu le courage de m'y lancer :oops:

ma solution provisoire: deux boutons, l'un pour afficher les deux répertoires dans TC (cd rep1 en commande, rep2 en chemin), l'autre pour lancer cm_FileSync.
Je pourrais aussi jouer avec les onglets... mais ça ne répond toujours pas à la question initiale: un seul bouton pour lancer la synchronisation sur les répertoire voulus...
Benoît
# 4081
User avatar
franck8244
Power Member
Power Member
Posts: 703
Joined: 2003-03-06, 17:37 UTC
Location: Geneva...

Post by *franck8244 »

Avec TCSript Editor , il y a priori 2 façons pour ouvrir la synchronisation avec les répertoires voulus :

1) Faire apparaitre les répertoires dans TC, ouvrir la synchronisation, synchroniser (manuellement ou non), revenir au répertoire précédent.

2) Ouvrir la fenêtre de synchronisation, modifier les chemins des répertoires sources et cibles dans cette fenêtre, lancer la synchro (manu ou auto), fermer la synchro

Voici le code pour la 1ére façon :wink: :

Code: Select all

#include VKeys.h
/*
  If there is no subdir in the path you must use the ascii
  value for the backslash (92) otherwise you can use VK_DIVIDE
  The user will have to launch manually the synchronization
  though it can be done automatically
*/
/* 1st part: Set the "source" and "destination" directory */
// "source" directory (example with %COMMANDER_PATH%)*/
PostCmd(cm_FocusLeft);
//Activate or Focus to the cmd line
SendVKey(VK_LSHIFT,1);
SendVKey(VK_LEFT,2);
SendVKey(VK_LSHIFT,0);
SendText("cd ");
//Emulate the "%"
SendVKey(VK_MENU,1);
SendVKey(VK_NUMPAD3,2);
SendVKey(VK_NUMPAD7,2);
SendVKey(VK_MENU,0);
SendText("COMMANDER");
// "_"
SendVKey(VK_MENU,1);
SendVKey(VK_NUMPAD9,2);
SendVKey(VK_NUMPAD5,2);
SendVKey(VK_MENU,0);
SendText("PATH");
SendVKey(VK_MENU,1);
// "%"
SendVKey(VK_NUMPAD3,2);
SendVKey(VK_NUMPAD7,2);
SendVKey(VK_MENU,0);
SendVKey(VK_RETURN,2);
/* "destination" directory: exemple with "H:\totalcmd" */
PostCmd(cm_FocusRight);
SendVKey(VK_LSHIFT,1);
SendVKey(VK_LEFT,2);
SendVKey(VK_LSHIFT,0);
SendText("cd H");
// ":"
SendVKey(VK_MENU,1);
SendVKey(VK_NUMPAD5,2);
SendVKey(VK_NUMPAD8,2);
SendVKey(VK_MENU,0);
// "\"
SendVKey(VK_MENU,1);
SendVKey(VK_NUMPAD9,2);
SendVKey(VK_NUMPAD2,2);
SendVKey(VK_MENU,0);
SendText("totalcmd");
SendVKey(VK_RETURN,2);
/* 2nd part : Open the file sync window and wait for it to close:
User manage it ! */
SendCmd(cm_FileSync);
/* 3rd part : When the synchronization is done :
Go To previous dir on both panel*/
postCmd(cm_GotoPreviousDir);// for current panel
SendVkey(VK_TAB,2);//switch panel
postCmd(cm_GotoPreviousDir);//for the other panel
SendVkey(VK_TAB,2);//switch panel
Si besoin je peux fournir le 2nd code également... Il est déja fait :D
TC#88260 -
Post Reply