cm_CompareFilesByContent mit Winmerge: Nicht automatisch beenden

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
User avatar
Peter
Power Member
Power Member
Posts: 2064
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

cm_CompareFilesByContent mit Winmerge: Nicht automatisch beenden

Post by *Peter »

Ich habe einen Button mit "cm_CompareFilesByContent" und rufe damit Winmerge auf. Alles bestens, aber eines nervt:

Bei identischen Dateien macht er Winmerge nach der Meldung sofort zu. Das will ich vermeiden und denke, das kommt aus dem TC, weil wenn man Winmerge direkt startet, dann müssen diese Schliessbefehle extra mitgegeben werden.

Code: Select all

winmergeu.exe 1.txt Kopievon1.txt              --> Bleibt offen
winmergeu.exe  /x  1.txt Kopievon1.txt              --> Schliesst automatisch
TC 10.xx / #266191
Win 10 x64
User avatar
tuska
Power Member
Power Member
Posts: 3740
Joined: 2007-05-21, 12:17 UTC

Re: cm_CompareFilesByContent mit Winmerge: Nicht automatisch beenden

Post by *tuska »

Peter wrote:Bei identischen Dateien macht er Winmerge nach der Meldung sofort zu. Das will ich vermeiden...
Bei mir bleibt WinMerge mit diesen Einstellungen offen:
wincmd.ini

Code: Select all

[Configuration]
CompareTool=%Commander_Path%\Tools\WinMergePortableZip\WinMergeU.exe
Dafür muß ich 2x die ESC-Taste drücken, um WinMerge komplett zu beenden und ich erhalte keine Meldung,
dass die Dateien identisch sind.

Dasselbe passiert auch bei Verwendung von (Kommando in einem Button), d.h. keine Meldung, 2x ESC:

Code: Select all

%COMMANDER_PATH%\Tools\WinMergePortableZip\WinMergeU.exe /e
(Ist aber nur so ähnlich in der Hilfe beschrieben...)
WinMerge Help wrote:/e
Enables you to close WinMerge with a single Esc key press.
This is useful when you use WinMerge as an external compare application: you can close WinMerge quickly, like a dialog.
Without this parameter, you might have to press Esc multiple times to close all its windows.
User avatar
tuska
Power Member
Power Member
Posts: 3740
Joined: 2007-05-21, 12:17 UTC

Re: cm_CompareFilesByContent mit Winmerge: Nicht automatisch beenden

Post by *tuska »

Peter wrote:winmergeu.exe /x 1.txt Kopievon1.txt --> Schliesst automatisch
Nein, bei mir nicht mit: %COMMANDER_PATH%\Tools\WinMergePortableZip\WinMergeU.exe /x (Button)
(Zumindest verstehe ich das nicht als automatische Schließung)

Das Problem ist, dass ich die beiden [neu markierten] Dateien (zB im selben Pfad oder anderen Pfad) [beim ersten Mal] in WinMerge
nicht vorgeschlagen erhalte (Felder "1. Datei oder Ordner" bzw. "2. Datei oder Ordner").
WinMerge schlägt hier immer die vorhergehenden Vergleichsdateien vor(!).
Nach einem Neustart von TC wurden beim ersten Mal (winmergeu.exe /x) auch schon einmal eine falsche Datei zum Vergleich vorgeschlagen.

Wenn ich ZUERST cm_CompareFilesByContent (CompareTool=%Commander_Path%\Tools\WinMergePortableZip\WinMergeU.exe) ausführe
und DANACH winmergeu.exe /x dann wird die Maske automatisch richtig befüllt, nach "Vergleichen" erhalte ich die Meldung
dass die Dateien identisch sind und nach Klick auf "OK" beendet sich WinMerge automatisch.

Hier hat jemand andere Einstellungen verlautbart

Code: Select all

Kommando:  %COMMANDER_PATH%\Tools\WinMergePortableZip\WinMergeU.exe
Parameter: /x /ub "%P\%N" "%T\%M" (nicht ganz ident mit dem Forumsbeitrag; /b unbekannt - keine Auswirkung feststellbar)
Tooltip:   (Zeilenumbrüche nach "|" zwecks besserer Lesbarkeit eingefügt)...
           WinMergePortable 2.16.4 (Dateien/Ordner vergleichen)|Exit: ESC drücken|
           %COMMANDER_PATH%\Tools\WinMergePortableZip\WinMergeU.exe /x /ub "%P\%N" "%T\%M"|
           Datei markieren/Cursor exakt positionieren/Strg...|https://ghisler.ch/board/viewtopic.php?p=308165#p308165
           ODER
           WinMergePortable 2.16.4 (Dateien/Ordner vergleichen)|Exit: ESC drücken|
           Cursor exakt positionieren (Markierung nicht erforderlich!)|STRG drücken/festhalten, Cursor zum WinMerge-Button bewegen,
           STRG loslassen, Button drücken|board/viewtopic.php?p=308165#p308165 (Somit bleibt das WinMerge-Fenster immer im Vordergrund.)
Mit diesem Button funktioniert das besser, d.h. es werden schon beim ersten Mal (winmergeu.exe /x)
die richtigen Dateien (incl. Pfade) vorgeschlagen.
Last edited by tuska on 2020-03-23, 12:51 UTC, edited 1 time in total.
User avatar
Peter
Power Member
Power Member
Posts: 2064
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Re: cm_CompareFilesByContent mit Winmerge: Nicht automatisch beenden

Post by *Peter »

:roll: :oops:

Ich glaub', ich habe da ein bisschen was verdreht ..

a) mit "direkt starten" oben meinte ich nicht den Aufruf im TC, sondern wirklich "direkt" im CMD Fenster oder so. Und zum Thema "commandline" steht in der Winmerge-Hilfe geschrieben:
/e
Enables you to close WinMerge with a single Esc key press. This is useful when you use WinMerge as an external compare application: you can close WinMerge quickly, like a dialog. Without this parameter, you might have to press Esc multiple times to close all its windows.
.....
/x
Closes WinMerge (after displaying an information dialog) when you start a comparison of identical files. The parameter has no effect after the comparison, for example if the files become identical as a result of merging or editing. This parameter is useful when you use WinMerge as an external compare application, or when you want to eliminate unnecessary steps by ignoring files that don't have any differences.
b) Und dank deines Hinweises oben habe ich meine INI angeschaut. Ich dachte, der Aufruf von Winmerge war irgednwo eine Option im Dialog, aber was finde ich nun bei mir:

Code: Select all

Comparetool="C:\Program Files\WinMerge\WinMergeU.exe" /e /x
In meinem Icon im TC habe ich nur den Aufruf "cm_CompareFilesByContent" - sonst keine Pfade, keine Parameter, winmergeu.exe nur für das Icon.

Also stimmt schon, was ich oben schrub: Das kommt aus dem TC. Aber reingewurschtelt habe ich es selbst ...
TC 10.xx / #266191
Win 10 x64
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6449
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: cm_CompareFilesByContent mit Winmerge: Nicht automatisch beenden

Post by *Horst.Epp »

Also dieser Button macht für mich alles richtig.
Er zeigt eine Meldung wenn die Dateien gleich sind und das Programm lässt sich mit einem ESC beenden.

Code: Select all

TOTALCMD#BAR#DATA
C:\Tools\WinMerge\WinMergeU.exe
/e /x %P%N %T%M
C:\Tools\WinMerge\WinMergeU.exe
WinMergeU


-1
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
tuska
Power Member
Power Member
Posts: 3740
Joined: 2007-05-21, 12:17 UTC

Re: cm_CompareFilesByContent mit Winmerge: Nicht automatisch beenden

Post by *tuska »

Horst.Epp wrote:Also dieser Button macht für mich alles richtig.
Da passe ich mich gerne an :) Danke!
(Parametrisierungen sind ohnehin nicht meine Stärke :? )

WinMerge
Meine Vorgehensweise (Button: WinMergeU.exe /e /x %P%N %T%M) | WinMerge-Fenster Vordergrund/Hintergrund

Code: Select all

WinMerge-Fenster im VORDERGRUND
Cursor exakt positionieren (Markierung nicht erforderlich!), und zwar zB auf Datei im linken und rechten Fenster.
Strg-Taste drücken und festhalten, Cursor zum WinMerge-Button bewegen, Strg-Taste loslassen, Button drücken.
Somit öffnet sich das WinMerge-Fenster immer im Vordergrund(!)

Bei identischen Dateien wird eine Meldung ausgegeben und nach Klick auf "OK" wird WinMerge automatisch beendet.
Das Programm läßt sich gegebenenfalls mit der ESC-Taste schließen.

Code: Select all

WinMerge-Fenster im HINTERGRUND
Cursor exakt positionieren (Markierung nicht erforderlich!), und zwar zB auf Datei im linken und rechten Fenster.
Strg-Taste drücken und festhalten, Cursor zum WinMerge-Button bewegen, Button drücken (Strg-Taste währenddessen noch gedrückt).
Das WinMerge-Fenster öffnet sich im Hintergrund(!)

Bei identischen Dateien wird eine Meldung ausgegeben und nach Klick auf "OK" wird WinMerge automatisch beendet.
Das Programm läßt sich gegebenenfalls mit der ESC-Taste schließen.
Meine zwei Buttons + Hinweise bzw. wincmd.ini - Einstellung

Code: Select all

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Tools\WinMergePortableZip\WinMergeU.exe
/e /x %P%N %T%M
%COMMANDER_PATH%\Tools\WinMergePortableZip\WinMergeU.exe
WinMergePortable 2.16.4 (Dateien/Ordner vergleichen) || ESC möglich|Cursor EXAKT positionieren (Markierung nicht erforderlich!)|STRG drücken, Cursor zum WinMerge-Button bewegen, STRG loslassen, Button drücken|https://ghisler.ch/board/viewtopic.php?f=2&t=67202


-1

Code: Select all

ACHTUNG:
Der Cursor muß im linken und rechten TC-Fenster EXAKT auf jeweils einer Datei positioniert werden! 
(Dann STRG drücken... siehe Tooltip zu Button)
Die MARKIERUNG der jeweiligen Datei ist NICHT erforderlich!

Beim Versuch eine Datei zu markieren und den Cursor auf eine andere Datei im selben Fenster zu positionieren
und danach mit diesem Button einen Vergleich durchzuführen, kommt es zu falschen DateivergleichsVORSCHLÄGEN in WinMerge!
Daher ist von der Verwendung dieses Buttons für zwei zu vergleichende Dateien im SELBEN TC-Fenster dringend ABZURATEN!

HINWEIS:
Bei Verwendung dieses Buttons wird in WinMerge IMMER(!) die Datei im linken Fenster angezeigt, 
welche im TC-Fenster zuvor den Fokus hatte.

Code: Select all

TOTALCMD#BAR#DATA
cm_CompareFilesByContent

%COMMANDER_PATH%\Tools\WinMergePortableZip\WinMergeU.exe,4
cm_CompareFilesByContent || Dateien nach Inhalt vergleichen ...|WinMerge-EIN: wincmd.ini ...|CompareTool=%Commander_Path%\Tools\WinMergePortableZip\WinMergeU.exe|WinMerge-AUS: 'CompareTool=.. oder ;CompareTool=..|=> TC-internes Vergleichstool wird verwendet!


2022

Code: Select all

wincmd.ini
[Configuration]
CompareTool=%Commander_Path%\Tools\WinMergePortableZip\WinMergeU.exe

Code: Select all

HINWEISE:
CompareTool=%Commander_Path%\Tools\WinMergePortableZip\WinMergeU.exe	Als Vergleichstool soll WinMerge verwendet werden!
;CompareTool=%Commander_Path%\Tools\WinMergePortableZip\WinMergeU.exe	TC-internes Vergleichstool wird verwendet! 
--------------------------------------------------------------------------------------------------------------------------

Die zu vergleichenden [Archiv-]Dateien/Ordner müssen in TC MARKIERT sein!

Bei Verwendung dieses Buttons wird in WinMerge IMMER(!)
- die Datei vom linken  TC-Fenster im linken Fenster und 
- die Datei vom rechten TC-Fenster im rechten Fenster
angezeigt, und zwar egal welches TC-Fenster zuvor den Fokus hatte!
Post Reply