levy/pravy panel jako parametr

Moderated forum for Slovak and Czech users

Moderator: Hacker

Post Reply
User avatar
totcmd
Senior Member
Senior Member
Posts: 223
Joined: 2006-11-06, 00:07 UTC
Location: Praha
Contact:

levy/pravy panel jako parametr

Post by *totcmd »

Beyond Compare 3.xx je specialista na porovnání a synchronizaci kde čeho s kde čím.

Protože se mi program ohromně líbí, tak jsem se pokusil ho zahrnout (integrovat) do Total Commanderu.

Jako hlavní porovnávadlo souborů - nemám problém.
Díky 'wincmd.ini' a položce Comparetool=%COMMANDER_PATH%\PLUGINS\apps\beyond-compare3\BCompare.exe v části [Configuration]

Bohužel se mi tak již nedaří u porovnání složek.
Vytvořil jsem si pro to tlačítko v tlačítkové liště:

Code: Select all

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\plugins\apps\beyond-compare3\BCompare.exe
"%P" "%T"
%COMMANDER_PATH%\plugins\apps\beyond-compare3\bcompare-folders.ico
BCompare


-1
Jako parametry jsem v TC použil:
%P - vloží do příkazového řádku zdrojovou cestu, včetně zpětného lomítka (\) na konci.
%T - vloží aktuální cílovou cestu. Vhodné především pro archivátory.

Vše takto funguje.
Beyond Compare chce pro porovnání složek:
Opens a new Folder Compare session with the specified base folders using the default session settings. For example:
BCompare.exe C:\Folder1 C:\Folder2
V čem mám tedy problém?
Míchá se mi aktivní panel s neaktivním...

Pokud v TC vyberu složku vlevo a pak vpravo (čímž je aktivní panel ten vpravo) předá se Beyond Compare pravý panel jako první... čímž se mi otevře v Beyon Compare v levém panelu (a ten co byl v TC vlevo je tedy v BC prozměnu vpravo) :-(
Dost mě to rozčiluje... ;-) Chvilku koukám jako vrána co tam mám zase za složky?...

Existuje nějaký fígl jak předat jinému programu (BC) nikoliv zdrojovou (aktivní panel) a cílovou (neaktivní panel) složku ale složku "vlevo" a "vpravo"?

Díky za případné info.

PS
Namontoval jsem se do českého překladu Beyond Compare 3.xx.
Beta češtinu mám téměř kompletní, kdyby ji někdo chtěl testovat/používat dejte vědět, pošlu vám ji.
Případní zájemci mi pošlete e-mail prostřednictvím fóra.
Jeden soubor vladne vsem, jeden jim vsem kaze, jeden vsechny ovladne... totalcmd.exe
jvh
Member
Member
Posts: 187
Joined: 2007-07-20, 12:28 UTC

Post by *jvh »

Ahoj,

pokud máš Beyond Compare (nebo WinMerge atd.) nastaveno ve Wincmd.ini jako Comparetool, stačí porovnání vyvolat přes interní příkaz cm_CompareFilesByContent, TC sám pošle odpovídající parametry (soubory či složky). Rozložení pak odpovídá zobrazení Levý/Pravý panel, nikoli Aktivní/Neaktivní panel.

Jinak můžeš použít i AHK a před porovnáním např. nastavit fokus na Levý panel (cm_FocusLeft) viz třeba tady.
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

totcmd,
Existuje nějaký fígl jak předat jinému programu (BC) nikoliv zdrojovou (aktivní panel) a cílovou (neaktivní panel) složku ale složku "vlevo" a "vpravo"?
Zatial nie, ale je na to feature request.

jvh,
pokud máš Beyond Compare (nebo WinMerge atd.) nastaveno ve Wincmd.ini jako Comparetool, stačí porovnání vyvolat přes interní příkaz cm_CompareFilesByContent, TC sám pošle odpovídající parametry (soubory či složky). Rozložení pak odpovídá zobrazení Levý/Pravý panel, nikoli Aktivní/Neaktivní panel.
Myslim, ze totcmd toto uz vyriesil, a snazi sa nejak normalne nakonfigurovat Beyond Compare ako nahradu za Synchronize Dirs.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
jvh
Member
Member
Posts: 187
Joined: 2007-07-20, 12:28 UTC

Post by *jvh »

Hacker:
Myslim, ze totcmd toto uz vyriesil, a snazi sa nejak normalne nakonfigurovat Beyond Compare ako nahradu za Synchronize Dirs.
OK, ale za %COMMANDER_PATH%\plugins\apps\beyond-compare3\BCompare.exe není parametr /Sync...


Totcmd:

Ještě je možné poměrně jednoduše použít TCMC (TC Multiple Commands). Je potřeba vytvořit Uživatelský příkaz em_usercmd.. v usercmd.ini (viz Příkaz->(symbol lupa)->Kategorie->usercmd.ini->Nový, Příkaz:
"%COMMANDER_PATH%\plugins\apps\beyond-compare3\BCompare.exe", případně
"%COMMANDER_PATH%\plugins\apps\beyond-compare3\BCompare.exe /Sync"
Parametry: "%P" "%T"

Potom v tlačítkové liště příkaz: "%COMMANDER_PATH%\plugins\\TCMC.exe 50 CMcm_FocusLeft EMem_usercmd1"
(50 = prodleva mezi příkazy v ms; CMcm_FocusLeft nastaví fokus do levého panelu; EMem_usercmd1 provede uživatelský příkaz)

Pozn.: TCMC, který je dostupný na http://totalcmd.pl je komprimovaný/zakódovaný přes Polyene 0.01+/Upack a hodně antivirů to vyhodnotí jako podezřelý soubor/trojan - jsou to falešné poplachy. V příspěvku citovaném výše jsou odkazy na rozbalené varianty TCMC, které většině antivirů už nečiní potíže...
User avatar
totcmd
Senior Member
Senior Member
Posts: 223
Joined: 2006-11-06, 00:07 UTC
Location: Praha
Contact:

Post by *totcmd »

Zkusím to ještě upřesnit.
Jako hlavní porovnávadlo souborů - nemám problém.
Díky 'wincmd.ini' a položce Comparetool=%COMMANDER_PATH%\PLUGINS\apps\beyond-compare3\BCompare.exe v části [Configuration]
Zde jsem zapomněl upřesnit "...porovnávadlo souborů/složek".
Tato funkce skutečně předá Beyon Compare pro porovnání i vybrané (označené) složky. Pro mě to má ale jeden háček. Pokud již mám určené složky otevřené... tak je uvedený nástroj poněkud těžkopádný (můj první nápad -> označení prvního řádku - šipek "nadřazená složka" - v obou panelech a následné spuštění fce nezabral).
Musím jít v obou panelech do nadřazené složky, tam vybrat odpovídající složky a zvolit "porovnání složek".

Abych se tomuto "těžítku" vyhnul, zvolil jsem uvedenou možnost "tlačítko s parametry"...

Code: Select all

%COMMANDER_PATH%\plugins\apps\beyond-compare3\BCompare.exe 
"%P" "%T"
V tomto případě totiž můžu mít otevřené co chci, nemusím mít v panelech nic označeno a dle potřeby porovnání složek prostě spustím.

"Synchronizace" v tom namočená není, protože pokud mám v Beyond Compare otevřené složky pro porovnání a chci je synchronizovat tak to v Beyond velmi snadno udělám.

Teď už to snad je pochopitelnější... ;-)

*************************************************
TIP
Protože používám pro porovnání fce obě (vestavěnou i vnější)... může se někomu hodit tip na úpravu hlavní nabídky (editace souboru WCMD_CZ.MNU):

Code: Select all

POPUP "&Soubor"
  MENUITEM "&Změna atributů...", cm_SetAttrib
  MENUITEM "&Komprimovat...\tAlt+F5", cm_PackFiles
  MENUITEM "E&xtrahovat...\tAlt+F9", cm_UnpackFiles
  MENUITEM "&Test archivu...\tAlt+Shift+F9", cm_TestArchive
;  MENUITEM "&Porovnat podle obsahu...", cm_CompareFilesByContent
  MENUITEM "&Porovnat podle obsahu - vnitřní nástroj...", cm_IntCompareFilesByContent
  MENUITEM "Porovnat podle obsahu v Be&yond Compare...", cm_CompareFilesByContent
  MENUITEM "&Asociovat s...", cm_Associate
  MENUITEM "Vnitřní asociace (jen Tota&l Commander)...", cm_InternalAssociate
Středníkem zakomentovaný originál
; MENUITEM "&Porovnat podle obsahu...", cm_CompareFilesByContent
a nově vložené
MENUITEM "&Porovnat podle obsahu - vnitřní nástroj...", cm_IntCompareFilesByContent
MENUITEM "Porovnat podle obsahu v Be&yond Compare...", cm_CompareFilesByContent

*************************************************

Řešení od jvh:
Jinak děkuji jvh za nápad s TCMC (TC Multiple Commands)...
Funguje perfektně - smekám ;-).

Škoda jen že mají antiviry s použitou kompresí u TCMC.EXE takové potíže.
Aktuálně používám verzi "UnPack 1. 33280 bajtů" z tohoto odkazu: TCMC_u.7z

PS
Nápad s AHK jsem nezkoušel, zatím se s AHK moc nekamarádím. (Stejně to vyzkouším až budu mít chvilku.)

Všem díky...

Martin
Jeden soubor vladne vsem, jeden jim vsem kaze, jeden vsechny ovladne... totalcmd.exe
Post Reply