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.
bouton raccourci synchronisation de répertoire
Moderators: Stefan2, white, nsp
- franck8244
- Power Member
- Posts: 704
- Joined: 2003-03-06, 17:37 UTC
- Location: Geneva...
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,...)
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 -
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
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...

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

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

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
# 4081
- franck8244
- Power Member
- Posts: 704
- Joined: 2003-03-06, 17:37 UTC
- Location: Geneva...
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
:
Si besoin je peux fournir le 2nd code également... Il est déja fait 
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

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

TC#88260 -